diff --git a/.vscode/launch.json b/.vscode/launch.json index 543058728f..e01beb7171 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -7,6 +7,44 @@ "name": "Launch DreamSeeker", "preLaunchTask": "Build All", "dmb": "${workspaceFolder}/${command:CurrentDMB}" + }, + { + "type": "byond", + "request": "launch", + "name": "Launch DreamDaemon", + "preLaunchTask": "Build All", + "dmb": "${workspaceFolder}/${command:CurrentDMB}", + "dreamDaemon": true + }, + { + "type": "byond", + "request": "launch", + "name": "Launch DreamSeeker (TESTING)", + "preLaunchTask": "Build All (TESTING)", + "dmb": "${workspaceFolder}/${command:CurrentDMB}" + }, + { + "type": "byond", + "request": "launch", + "name": "Launch DreamDaemon (TESTING)", + "preLaunchTask": "Build All (TESTING)", + "dmb": "${workspaceFolder}/${command:CurrentDMB}", + "dreamDaemon": true + }, + { + "type": "byond", + "request": "launch", + "name": "Launch DreamSeeker (LOWMEMORYMODE)", + "preLaunchTask": "Build All (LOWMEMORYMODE)", + "dmb": "${workspaceFolder}/${command:CurrentDMB}" + }, + { + "type": "byond", + "request": "launch", + "name": "Launch DreamDaemon (LOWMEMORYMODE)", + "preLaunchTask": "Build All (LOWMEMORYMODE)", + "dmb": "${workspaceFolder}/${command:CurrentDMB}", + "dreamDaemon": true } ] } diff --git a/.vscode/tasks.json b/.vscode/tasks.json index b7d12f0527..155c69ee99 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -24,6 +24,56 @@ "dependsOn": "dm: reparse", "label": "Build All" }, + { + "type": "process", + "command": "tools/build/build", + "windows": { + "command": ".\\tools\\build\\build.bat" + }, + "options": { + "env": { + "DM_EXE": "${config:dreammaker.byondPath}" + } + }, + "problemMatcher": [ + "$dreammaker", + "$tsc", + "$eslint-stylish" + ], + "group": { + "kind": "build" + }, + "dependsOn": "dm: reparse", + "args": [ + "-DTESTING" + ], + "label": "Build All (TESTING)" + }, + { + "type": "process", + "command": "tools/build/build", + "windows": { + "command": ".\\tools\\build\\build.bat" + }, + "options": { + "env": { + "DM_EXE": "${config:dreammaker.byondPath}" + } + }, + "problemMatcher": [ + "$dreammaker", + "$tsc", + "$eslint-stylish" + ], + "group": { + "kind": "build" + }, + "dependsOn": "dm: reparse", + "args": [ + "-DLOWMEMORYMODE" + ], + "label": "Build All (LOWMEMORYMODE)" + }, { "type": "dreammaker", "dme": "tgstation.dme", diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm index e95fcc82c3..844d28415f 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm @@ -5,6 +5,10 @@ "b" = ( /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"c" = ( +/obj/structure/table/wood, +/turf/open/floor/plasteel/freezer, +/area/ruin/lavaland/powered/seedvault) "d" = ( /obj/structure/table/wood, /obj/item/lighter, @@ -21,11 +25,11 @@ /turf/open/floor/plasteel/freezer, /area/ruin/lavaland/powered/seedvault) "f" = ( -/obj/machinery/plantgenes/seedvault{ - pixel_y = 6 +/obj/structure/sink{ + dir = 4; + pixel_x = 11 }, -/obj/structure/table/wood, -/turf/open/floor/plasteel/freezer, +/turf/open/floor/grass, /area/ruin/lavaland/powered/seedvault) "g" = ( /obj/structure/table/wood, @@ -61,7 +65,7 @@ /turf/open/floor/plasteel/freezer, /area/ruin/lavaland/powered/seedvault) "l" = ( -/obj/machinery/door/airlock, +/obj/machinery/door/airlock/titanium/glass, /turf/open/floor/plasteel/freezer, /area/ruin/lavaland/powered/seedvault) "m" = ( @@ -73,7 +77,8 @@ /turf/open/floor/plasteel/freezer, /area/ruin/lavaland/powered/seedvault) "n" = ( -/obj/machinery/smartfridge, +/obj/structure/table/wood, +/obj/item/gps, /turf/open/floor/plasteel/freezer, /area/ruin/lavaland/powered/seedvault) "o" = ( @@ -93,8 +98,9 @@ /turf/open/floor/plasteel/freezer, /area/ruin/lavaland/powered/seedvault) "p" = ( -/obj/machinery/hydroponics/constructable, -/turf/open/floor/plasteel/freezer, +/obj/structure/grille, +/obj/machinery/smartfridge, +/turf/open/floor/circuit/green, /area/ruin/lavaland/powered/seedvault) "q" = ( /obj/item/hatchet, @@ -113,24 +119,15 @@ /area/ruin/lavaland/powered/seedvault) "s" = ( /obj/structure/table/wood, -/obj/item/gun/energy/floragun, -/obj/item/gun/energy/floragun, -/obj/item/gun/energy/floragun, -/obj/item/gun/energy/floragun, -/obj/item/storage/box/disks_plantgene, +/obj/item/seeds/bee_balm/honey_balm, /turf/open/floor/plasteel/freezer, /area/ruin/lavaland/powered/seedvault) "t" = ( /obj/effect/mob_spawn/human/seed_vault, -/turf/open/floor/plasteel/freezer, +/turf/open/floor/grass, /area/ruin/lavaland/powered/seedvault) "u" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, -/turf/open/floor/plasteel/freezer, +/turf/open/floor/grass, /area/ruin/lavaland/powered/seedvault) "v" = ( /obj/machinery/vending/hydronutrients, @@ -152,10 +149,8 @@ /turf/open/floor/plasteel/freezer, /area/ruin/lavaland/powered/seedvault) "y" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, +/obj/structure/table/wood, +/obj/item/pickaxe, /turf/open/floor/plasteel/freezer, /area/ruin/lavaland/powered/seedvault) "z" = ( @@ -165,6 +160,10 @@ }, /turf/open/floor/plasteel/freezer, /area/ruin/lavaland/powered/seedvault) +"A" = ( +/obj/structure/table/glass, +/turf/open/floor/plasteel/freezer, +/area/ruin/lavaland/powered/seedvault) "B" = ( /obj/structure/disposalpipe/trunk, /obj/machinery/disposal/bin, @@ -183,27 +182,25 @@ /turf/open/floor/plasteel/freezer, /area/ruin/lavaland/powered/seedvault) "F" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/freezer, +/obj/structure/grille, +/obj/structure/window/shuttle, +/turf/open/floor/circuit/green, /area/ruin/lavaland/powered/seedvault) "G" = ( -/obj/structure/closet/crate/hydroponics, -/obj/item/clothing/under/rank/civilian/hydroponics, -/obj/item/clothing/under/rank/civilian/hydroponics, -/obj/item/clothing/under/rank/civilian/hydroponics, -/obj/item/clothing/under/rank/civilian/hydroponics, -/turf/open/floor/plasteel/freezer, +/obj/structure/disposalpipe/segment, +/turf/closed/wall/mineral/titanium/interior, /area/ruin/lavaland/powered/seedvault) "H" = ( -/obj/machinery/chem_master/condimaster, +/obj/structure/table/glass, +/obj/item/gun/energy/floragun, +/obj/item/gun/energy/floragun, +/obj/item/gun/energy/floragun, +/obj/item/gun/energy/floragun, /turf/open/floor/plasteel/freezer, /area/ruin/lavaland/powered/seedvault) "I" = ( /obj/structure/table/wood, -/obj/item/reagent_containers/glass/bucket, -/obj/item/reagent_containers/glass/bucket, -/obj/item/reagent_containers/glass/bucket, -/obj/item/reagent_containers/glass/bucket, +/obj/item/watertank, /turf/open/floor/plasteel/freezer, /area/ruin/lavaland/powered/seedvault) "J" = ( @@ -211,6 +208,13 @@ /obj/structure/table/wood, /turf/open/floor/plasteel/freezer, /area/ruin/lavaland/powered/seedvault) +"K" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/flora/ausbushes/ywflowers, +/turf/open/floor/grass, +/area/ruin/lavaland/powered/seedvault) "L" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -224,8 +228,10 @@ /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) "N" = ( +/obj/machinery/plantgenes/seedvault{ + pixel_y = 6 + }, /obj/structure/table/wood, -/obj/item/storage/box/disks_plantgene, /obj/machinery/light{ dir = 1 }, @@ -238,38 +244,59 @@ /turf/open/floor/plasteel/freezer, /area/ruin/lavaland/powered/seedvault) "P" = ( +/obj/structure/table/wood, +/obj/item/storage/box/disks_plantgene, +/obj/machinery/light, +/turf/open/floor/plasteel/freezer, +/area/ruin/lavaland/powered/seedvault) +"Q" = ( /obj/machinery/hydroponics/constructable, +/turf/open/floor/grass, +/area/ruin/lavaland/powered/seedvault) +"R" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/turf/open/floor/grass, +/area/ruin/lavaland/powered/seedvault) +"S" = ( +/turf/closed/wall/mineral/titanium/interior, +/area/ruin/lavaland/powered/seedvault) +"T" = ( +/obj/structure/closet/crate/hydroponics, +/obj/item/clothing/under/rank/civilian/hydroponics, +/obj/item/clothing/under/rank/civilian/hydroponics, +/obj/item/clothing/under/rank/civilian/hydroponics, +/obj/item/clothing/under/rank/civilian/hydroponics, +/obj/machinery/light, +/turf/open/floor/plasteel/freezer, +/area/ruin/lavaland/powered/seedvault) +"U" = ( +/obj/machinery/light, +/obj/structure/flora/ausbushes/ppflowers, +/turf/open/floor/grass, +/area/ruin/lavaland/powered/seedvault) +"V" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/machinery/light, +/turf/open/floor/plasteel/freezer, +/area/ruin/lavaland/powered/seedvault) +"X" = ( +/obj/structure/table/glass, +/obj/item/construction/plumbing, /obj/machinery/light{ dir = 1 }, /turf/open/floor/plasteel/freezer, /area/ruin/lavaland/powered/seedvault) -"Q" = ( -/turf/closed/wall/r_wall, -/area/ruin/lavaland/powered/seedvault) -"R" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/freezer, -/area/ruin/lavaland/powered/seedvault) -"S" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/ruin/lavaland/powered/seedvault) -"U" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/freezer, -/area/ruin/lavaland/powered/seedvault) -"V" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall/r_wall, -/area/ruin/lavaland/powered/seedvault) -"X" = ( -/obj/machinery/hydroponics/constructable, -/obj/machinery/light, +"Y" = ( +/obj/machinery/chem_master, /turf/open/floor/plasteel/freezer, /area/ruin/lavaland/powered/seedvault) "Z" = ( @@ -288,12 +315,12 @@ a a a a -Q -Q -Q -Q -Q -Q +S +S +S +S +S +S a a a @@ -309,14 +336,14 @@ a a a a -a -Q +S +S t t t t -Q -a +S +S a a a @@ -329,41 +356,41 @@ b a a a -a -a -Q -Q -O -h -h +S +S +S +S +K +u +u U -Q -Q +S +S +S +S a a a b -a -b "} (4,1,1) = {" b a a -Q -Q -Q -Q -Q -Q +S +S +w +v +S +F l l -Q -Q -Q -Q -a -a +F +S +w +v +S +S a a a @@ -371,241 +398,241 @@ a (5,1,1) = {" a a -Q -Q -k -Q -n +S +S +u +u +u R u h h u R -Z -Q -a -a -a +u +u +u +S +S a a "} (6,1,1) = {" a a +S +C +u Q -d -h +u Q -o +u h h -h -h -h -h -G +u Q -a -a -a +u +Q +u +Z +S a a "} (7,1,1) = {" a a -Q +S N -h +u Q -P -h -p -h -h -p -h -X +u Q -a -a -a +u +h +h +u +Q +u +Q +u +V +S a a "} (8,1,1) = {" b a +S +g +u Q -e -h -l -h -h -v +u +Q +u h h +u +Q +u +Q +u B -F -F -V +G L a -a -a -a "} (9,1,1) = {" b a -Q +S +e +u +u +u f -h -Q -p -h -n +u h h -C -h -k -Q +u +f +u +u +u +r +S M a -a -a -a "} (10,1,1) = {" a a -Q -g -h -Q +S +S +F +l p -h -w -h -h +S D h +h +o +S p -Q +l +F +S +S b a -a -a -a "} (11,1,1) = {" a a -Q +S +k h h -Q -q +e +S +O h -x +h +T +S +H h h E -h -H -Q -a -a -a +S a a "} (12,1,1) = {" b a -Q -O +S +k +h h -Q P +S +I h h -h -h -h -h +J +S X -Q -a -a -a +h +h +A +S a a "} (13,1,1) = {" a a -Q -i -h -Q -r +S +k h h -p -p +d +S +c h h -I -Q -a -a -a +n +S +x +h +h +Y +S a a "} (14,1,1) = {" a a -Q -Q +S +S +i i -Q s S -y +q h h y S -J -Q -a -a -a +A +h +h +S +S a a "} (15,1,1) = {" a a -b -Q -Q -Q -Q -Q -Q +a +S +S +S +S +S +S z z -Q -Q -Q -Q -a -a +S +S +S +S +S +S a a a @@ -613,21 +640,21 @@ a (16,1,1) = {" b a -b +a j -Q +S j -Q +S j -Q +S h h -Q +S j -Q +S +j +S j -a -a a a a @@ -641,10 +668,10 @@ a a a a -Q +S m m -Q +S b b b @@ -683,7 +710,7 @@ a a b b -a +b b b b diff --git a/_maps/RandomRuins/SpaceRuins/arcade.dmm b/_maps/RandomRuins/SpaceRuins/arcade.dmm index c68d3b224e..4af6488f85 100644 --- a/_maps/RandomRuins/SpaceRuins/arcade.dmm +++ b/_maps/RandomRuins/SpaceRuins/arcade.dmm @@ -147,7 +147,7 @@ /turf/open/floor/engine, /area/ruin/powered) "I" = ( -/obj/item/aiModule/toyAI, +/obj/item/ai_module/toyAI, /turf/open/floor/engine, /area/ruin/powered) "J" = ( diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 81eca95be1..c1f0634b27 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -21695,7 +21695,7 @@ /area/command/meeting_room) "bbj" = ( /obj/structure/table, -/obj/item/aiModule/reset, +/obj/item/ai_module/reset, /obj/machinery/light{ dir = 8 }, @@ -21981,7 +21981,7 @@ /area/command/meeting_room) "bce" = ( /obj/structure/table, -/obj/item/aiModule/supplied/quarantine, +/obj/item/ai_module/supplied/quarantine, /obj/machinery/camera/motion{ c_tag = "AI Upload Chamber - West"; dir = 4; @@ -21998,7 +21998,7 @@ /area/ai_monitored/turret_protected/ai_upload) "bcg" = ( /obj/structure/table, -/obj/item/aiModule/supplied/freeform, +/obj/item/ai_module/supplied/freeform, /obj/structure/sign/plaques/kiddie{ pixel_x = 32 }, @@ -22674,8 +22674,8 @@ /area/maintenance/port) "beb" = ( /obj/structure/table, -/obj/item/aiModule/core/full/asimov, -/obj/item/aiModule/core/freeformcore, +/obj/item/ai_module/core/full/asimov, +/obj/item/ai_module/core/freeformcore, /obj/machinery/door/window{ base_state = "right"; dir = 4; @@ -22692,7 +22692,7 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/aiModule/core/full/custom, +/obj/item/ai_module/core/full/custom, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai_upload) "bec" = ( @@ -22734,14 +22734,14 @@ /area/ai_monitored/turret_protected/ai_upload) "beg" = ( /obj/structure/table, -/obj/item/aiModule/supplied/oxygen, -/obj/item/aiModule/zeroth/oneHuman, +/obj/item/ai_module/supplied/oxygen, +/obj/item/ai_module/zeroth/oneHuman, /obj/machinery/door/window{ dir = 8; name = "High-Risk Modules"; req_access_txt = "20" }, -/obj/item/aiModule/reset/purge, +/obj/item/ai_module/reset/purge, /obj/structure/window/reinforced, /obj/effect/spawner/lootdrop/aimodule_harmful, /obj/structure/window/reinforced{ @@ -22750,7 +22750,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/aiModule/supplied/protectStation, +/obj/item/ai_module/supplied/protectStation, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai_upload) "beh" = ( @@ -34141,7 +34141,7 @@ "bEX" = ( /obj/structure/table, /obj/item/aicard, -/obj/item/aiModule/reset, +/obj/item/ai_module/reset, /obj/structure/cable{ icon_state = "1-2" }, diff --git a/_maps/map_files/CogStation/CogStation.dmm b/_maps/map_files/CogStation/CogStation.dmm index 2135803d28..cf2504d9d6 100644 --- a/_maps/map_files/CogStation/CogStation.dmm +++ b/_maps/map_files/CogStation/CogStation.dmm @@ -23661,14 +23661,14 @@ dir = 4; light_color = "#e8eaff" }, -/obj/item/aiModule/reset/purge{ +/obj/item/ai_module/reset/purge{ pixel_y = 6 }, -/obj/item/aiModule/reset{ +/obj/item/ai_module/reset{ pixel_x = -2; pixel_y = 4 }, -/obj/item/aiModule/core/full/custom{ +/obj/item/ai_module/core/full/custom{ pixel_x = -4 }, /obj/machinery/status_display{ @@ -24172,7 +24172,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/item/aiModule/core/full/asimov{ +/obj/item/ai_module/core/full/asimov{ pixel_x = 2; pixel_y = 10 }, @@ -24183,11 +24183,11 @@ /obj/effect/spawner/lootdrop/aimodule_harmless{ pixel_y = 6 }, -/obj/item/aiModule/core/freeformcore{ +/obj/item/ai_module/core/freeformcore{ pixel_x = -1; pixel_y = 2 }, -/obj/item/aiModule/supplied/freeform{ +/obj/item/ai_module/supplied/freeform{ pixel_x = -2 }, /obj/structure/cable{ @@ -38060,22 +38060,22 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/item/aiModule/supplied/oxygen{ +/obj/item/ai_module/supplied/oxygen{ pixel_x = 2; pixel_y = 10 }, -/obj/item/aiModule/supplied/quarantine{ +/obj/item/ai_module/supplied/quarantine{ pixel_x = 1; pixel_y = 8 }, -/obj/item/aiModule/zeroth/oneHuman{ +/obj/item/ai_module/zeroth/oneHuman{ pixel_y = 4 }, /obj/effect/spawner/lootdrop/aimodule_harmful{ pixel_x = -1; pixel_y = 2 }, -/obj/item/aiModule/supplied/protectStation{ +/obj/item/ai_module/supplied/protectStation{ pixel_x = -2 }, /turf/open/floor/plasteel, diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 506f5e2396..697a37fb21 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -29754,7 +29754,7 @@ lootcount = 2; lootdoubles = 0 }, -/obj/item/aiModule/supplied/oxygen{ +/obj/item/ai_module/supplied/oxygen{ pixel_x = -3; pixel_y = -3 }, @@ -30359,12 +30359,12 @@ req_access_txt = "20" }, /obj/structure/window/reinforced, -/obj/item/aiModule/core/freeformcore{ +/obj/item/ai_module/core/freeformcore{ pixel_x = 3; pixel_y = 3 }, -/obj/item/aiModule/core/full/custom, -/obj/item/aiModule/core/full/asimov{ +/obj/item/ai_module/core/full/custom, +/obj/item/ai_module/core/full/asimov{ pixel_x = -3; pixel_y = -3 }, @@ -30464,12 +30464,12 @@ req_access_txt = "20" }, /obj/structure/window/reinforced, -/obj/item/aiModule/supplied/protectStation{ +/obj/item/ai_module/supplied/protectStation{ pixel_x = 3; pixel_y = 3 }, -/obj/item/aiModule/zeroth/oneHuman, -/obj/item/aiModule/reset/purge{ +/obj/item/ai_module/zeroth/oneHuman, +/obj/item/ai_module/reset/purge{ pixel_x = -3; pixel_y = -3 }, @@ -31513,7 +31513,7 @@ /area/security/brig) "ckn" = ( /obj/structure/table/reinforced, -/obj/item/aiModule/reset, +/obj/item/ai_module/reset, /obj/item/radio/intercom{ name = "Station Intercom"; pixel_x = -26 @@ -31586,7 +31586,7 @@ /area/ai_monitored/turret_protected/ai_upload) "ckt" = ( /obj/structure/table/reinforced, -/obj/item/aiModule/supplied/quarantine, +/obj/item/ai_module/supplied/quarantine, /obj/item/radio/intercom{ broadcasting = 1; frequency = 1447; @@ -32125,7 +32125,7 @@ /area/security/range) "clM" = ( /obj/structure/table/reinforced, -/obj/item/aiModule/supplied/freeform, +/obj/item/ai_module/supplied/freeform, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -72976,7 +72976,7 @@ /area/service/theater) "eNu" = ( /obj/structure/table/reinforced, -/obj/item/aiModule/reset, +/obj/item/ai_module/reset, /obj/item/assembly/flash/handheld, /obj/item/assembly/flash/handheld, /obj/effect/turf_decal/bot, diff --git a/_maps/map_files/FestiveBall/FestiveStation.dmm b/_maps/map_files/FestiveBall/FestiveStation.dmm index 353b298ceb..af368051d9 100644 --- a/_maps/map_files/FestiveBall/FestiveStation.dmm +++ b/_maps/map_files/FestiveBall/FestiveStation.dmm @@ -254,8 +254,8 @@ /area/edina) "aaT" = ( /obj/structure/table, -/obj/item/aiModule/core/full/asimov, -/obj/item/aiModule/core/freeformcore, +/obj/item/ai_module/core/full/asimov, +/obj/item/ai_module/core/freeformcore, /obj/machinery/door/window{ base_state = "right"; dir = 4; @@ -272,7 +272,7 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/aiModule/core/full/custom, +/obj/item/ai_module/core/full/custom, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai_upload) "aaU" = ( @@ -280,7 +280,7 @@ /area/ai_monitored/turret_protected/ai_upload) "aaV" = ( /obj/structure/table, -/obj/item/aiModule/supplied/quarantine, +/obj/item/ai_module/supplied/quarantine, /obj/machinery/camera/motion, /obj/machinery/light{ dir = 1; @@ -296,7 +296,7 @@ /area/edina/street/secondary/command) "aaX" = ( /obj/structure/table, -/obj/item/aiModule/reset, +/obj/item/ai_module/reset, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai_upload) "aaY" = ( @@ -659,16 +659,16 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/aiModule/supplied/oxygen, -/obj/item/aiModule/zeroth/oneHuman, -/obj/item/aiModule/reset/purge, +/obj/item/ai_module/supplied/oxygen, +/obj/item/ai_module/zeroth/oneHuman, +/obj/item/ai_module/reset/purge, /obj/effect/spawner/lootdrop/aimodule_harmful, -/obj/item/aiModule/supplied/protectStation, +/obj/item/ai_module/supplied/protectStation, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai_upload) "abS" = ( /obj/structure/table, -/obj/item/aiModule/supplied/freeform, +/obj/item/ai_module/supplied/freeform, /obj/machinery/camera/motion{ c_tag = "MiniSat Foyer"; dir = 1; diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index 74dbdcf8d7..12e3252a5e 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -41120,12 +41120,12 @@ name = "Core Modules"; req_access_txt = "20" }, -/obj/item/aiModule/core/freeformcore{ +/obj/item/ai_module/core/freeformcore{ pixel_x = 3; pixel_y = 3 }, -/obj/item/aiModule/core/full/custom, -/obj/item/aiModule/core/full/asimov{ +/obj/item/ai_module/core/full/custom, +/obj/item/ai_module/core/full/asimov{ pixel_x = -3; pixel_y = -3 }, @@ -43936,12 +43936,12 @@ name = "Core Modules"; req_access_txt = "20" }, -/obj/item/aiModule/supplied/protectStation{ +/obj/item/ai_module/supplied/protectStation{ pixel_x = 3; pixel_y = 3 }, -/obj/item/aiModule/zeroth/oneHuman, -/obj/item/aiModule/reset/purge{ +/obj/item/ai_module/zeroth/oneHuman, +/obj/item/ai_module/reset/purge{ pixel_x = -3; pixel_y = -3 }, @@ -47627,7 +47627,7 @@ /area/commons/fitness/recreation) "byM" = ( /obj/structure/table, -/obj/item/aiModule/reset, +/obj/item/ai_module/reset, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/machinery/flasher{ id = "AI"; @@ -47680,7 +47680,7 @@ lootcount = 2; lootdoubles = 0 }, -/obj/item/aiModule/supplied/oxygen{ +/obj/item/ai_module/supplied/oxygen{ pixel_x = -3; pixel_y = -3 }, @@ -47852,7 +47852,7 @@ /area/commons/toilet/restrooms) "bzb" = ( /obj/structure/table, -/obj/item/aiModule/supplied/freeform, +/obj/item/ai_module/supplied/freeform, /turf/open/floor/circuit/green{ luminosity = 2 }, @@ -48043,7 +48043,7 @@ /area/ai_monitored/turret_protected/ai_upload) "bzr" = ( /obj/structure/table, -/obj/item/aiModule/supplied/quarantine, +/obj/item/ai_module/supplied/quarantine, /obj/machinery/flasher{ id = "AI"; name = "Meatbag Pacifier"; @@ -50899,7 +50899,7 @@ dir = 1 }, /obj/item/aicard, -/obj/item/aiModule/reset, +/obj/item/ai_module/reset, /obj/item/assembly/flash/handheld, /obj/item/assembly/flash/handheld, /obj/machinery/airalarm{ diff --git a/_maps/map_files/LambdaStation/lambda.dmm b/_maps/map_files/LambdaStation/lambda.dmm index 22241d6dfc..31ed0aa655 100644 --- a/_maps/map_files/LambdaStation/lambda.dmm +++ b/_maps/map_files/LambdaStation/lambda.dmm @@ -23822,9 +23822,9 @@ dir = 1; pixel_y = 1 }, -/obj/item/aiModule/core/full/asimov, -/obj/item/aiModule/core/full/custom, -/obj/item/aiModule/core/freeformcore, +/obj/item/ai_module/core/full/asimov, +/obj/item/ai_module/core/full/custom, +/obj/item/ai_module/core/freeformcore, /obj/structure/window/reinforced, /obj/machinery/door/window{ dir = 4; @@ -23873,10 +23873,10 @@ dir = 1; pixel_y = 1 }, -/obj/item/aiModule/reset/purge, -/obj/item/aiModule/zeroth/oneHuman, -/obj/item/aiModule/supplied/protectStation, -/obj/item/aiModule/supplied/oxygen, +/obj/item/ai_module/reset/purge, +/obj/item/ai_module/zeroth/oneHuman, +/obj/item/ai_module/supplied/protectStation, +/obj/item/ai_module/supplied/oxygen, /obj/structure/window/reinforced, /obj/machinery/door/window/westright{ name = "Reserve Modules"; @@ -24118,7 +24118,7 @@ }, /obj/structure/table, /obj/structure/window/reinforced, -/obj/item/aiModule/supplied/freeform, +/obj/item/ai_module/supplied/freeform, /obj/structure/window/reinforced{ dir = 1; pixel_y = 1 @@ -24851,8 +24851,8 @@ }, /obj/structure/table, /obj/structure/window/reinforced, -/obj/item/aiModule/supplied/quarantine, -/obj/item/aiModule/reset, +/obj/item/ai_module/supplied/quarantine, +/obj/item/ai_module/reset, /obj/structure/window/reinforced{ dir = 1; pixel_y = 1 @@ -66357,7 +66357,7 @@ }, /obj/structure/table, /obj/item/aicard, -/obj/item/aiModule/reset, +/obj/item/ai_module/reset, /turf/open/floor/plating, /area/engineering/storage/tech) "iSm" = ( diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 44a080ccb4..cd687fd5af 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -10652,9 +10652,9 @@ /area/security/prison/cells) "aMG" = ( /obj/structure/table, -/obj/item/aiModule/core/full/asimov, +/obj/item/ai_module/core/full/asimov, /obj/effect/spawner/lootdrop/aimodule_harmless, -/obj/item/aiModule/core/freeformcore, +/obj/item/ai_module/core/freeformcore, /obj/machinery/door/window{ base_state = "right"; dir = 4; @@ -10664,7 +10664,7 @@ }, /obj/structure/window/reinforced, /obj/effect/spawner/lootdrop/aimodule_neutral, -/obj/item/aiModule/core/full/custom, +/obj/item/ai_module/core/full/custom, /obj/machinery/flasher{ id = "AI"; pixel_y = 24 @@ -10687,10 +10687,10 @@ pixel_y = 24 }, /obj/effect/spawner/lootdrop/aimodule_harmful, -/obj/item/aiModule/supplied/oxygen, -/obj/item/aiModule/supplied/protectStation, -/obj/item/aiModule/zeroth/oneHuman, -/obj/item/aiModule/reset/purge, +/obj/item/ai_module/supplied/oxygen, +/obj/item/ai_module/supplied/protectStation, +/obj/item/ai_module/zeroth/oneHuman, +/obj/item/ai_module/reset/purge, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai_upload) "aMJ" = ( @@ -11036,7 +11036,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/item/aiModule/supplied/quarantine, +/obj/item/ai_module/supplied/quarantine, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai_upload) "aPu" = ( @@ -11068,7 +11068,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/item/aiModule/supplied/freeform, +/obj/item/ai_module/supplied/freeform, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai_upload) "aPy" = ( @@ -11136,7 +11136,7 @@ /area/maintenance/starboard/fore) "aQz" = ( /obj/structure/table, -/obj/item/aiModule/reset, +/obj/item/ai_module/reset, /obj/machinery/light{ dir = 8 }, @@ -60295,7 +60295,7 @@ "kbk" = ( /obj/structure/table, /obj/item/aicard, -/obj/item/aiModule/reset, +/obj/item/ai_module/reset, /turf/open/floor/plasteel/dark, /area/engineering/storage/tech) "kbS" = ( diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index fb77051142..3ebb28e9d5 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -2402,7 +2402,7 @@ lootcount = 2; lootdoubles = 0 }, -/obj/item/aiModule/supplied/oxygen{ +/obj/item/ai_module/supplied/oxygen{ pixel_x = -3; pixel_y = -3 }, @@ -2794,12 +2794,12 @@ req_access_txt = "20" }, /obj/structure/window/reinforced, -/obj/item/aiModule/core/freeformcore{ +/obj/item/ai_module/core/freeformcore{ pixel_x = 3; pixel_y = 3 }, -/obj/item/aiModule/core/full/custom, -/obj/item/aiModule/core/full/asimov{ +/obj/item/ai_module/core/full/custom, +/obj/item/ai_module/core/full/asimov{ pixel_x = -3; pixel_y = -3 }, @@ -2827,12 +2827,12 @@ req_access_txt = "20" }, /obj/structure/window/reinforced, -/obj/item/aiModule/supplied/protectStation{ +/obj/item/ai_module/supplied/protectStation{ pixel_x = 3; pixel_y = 3 }, -/obj/item/aiModule/zeroth/oneHuman, -/obj/item/aiModule/reset/purge{ +/obj/item/ai_module/zeroth/oneHuman, +/obj/item/ai_module/reset/purge{ pixel_x = -3; pixel_y = -3 }, @@ -3698,7 +3698,7 @@ /area/command/bridge) "agX" = ( /obj/structure/table/reinforced, -/obj/item/aiModule/reset{ +/obj/item/ai_module/reset{ pixel_x = 3; pixel_y = 3 }, @@ -3709,7 +3709,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/item/aiModule/supplied/freeform, +/obj/item/ai_module/supplied/freeform, /turf/open/floor/plasteel/dark, /area/ai_monitored/command/nuke_storage) "agY" = ( @@ -3766,7 +3766,7 @@ /area/ai_monitored/command/nuke_storage) "ahd" = ( /obj/structure/table/reinforced, -/obj/item/aiModule/supplied/quarantine, +/obj/item/ai_module/supplied/quarantine, /obj/item/radio/intercom{ broadcasting = 1; frequency = 1447; diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 207b47c096..a388f9d58d 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -11360,13 +11360,13 @@ /area/command/bridge) "aCG" = ( /obj/structure/table, -/obj/item/aiModule/supplied/quarantine, +/obj/item/ai_module/supplied/quarantine, /obj/machinery/camera/motion{ c_tag = "AI Upload Port"; dir = 4; network = list("aiupload") }, -/obj/item/aiModule/reset, +/obj/item/ai_module/reset, /obj/machinery/flasher{ id = "brigentry"; pixel_x = -28 @@ -11417,7 +11417,7 @@ /area/ai_monitored/turret_protected/ai_upload) "aCM" = ( /obj/structure/table, -/obj/item/aiModule/supplied/freeform, +/obj/item/ai_module/supplied/freeform, /obj/machinery/camera/motion{ c_tag = "AI Upload Starboard"; dir = 8; @@ -12278,9 +12278,9 @@ /area/command/bridge) "aED" = ( /obj/structure/table, -/obj/item/aiModule/core/full/asimov, +/obj/item/ai_module/core/full/asimov, /obj/effect/spawner/lootdrop/aimodule_harmless, -/obj/item/aiModule/core/freeformcore, +/obj/item/ai_module/core/freeformcore, /obj/machinery/door/window{ base_state = "right"; dir = 4; @@ -12289,7 +12289,7 @@ req_access_txt = "20" }, /obj/effect/spawner/lootdrop/aimodule_neutral, -/obj/item/aiModule/core/full/custom, +/obj/item/ai_module/core/full/custom, /obj/structure/window/reinforced{ dir = 1; pixel_y = 1 @@ -12336,16 +12336,16 @@ /area/ai_monitored/turret_protected/ai_upload) "aEI" = ( /obj/structure/table, -/obj/item/aiModule/supplied/oxygen, -/obj/item/aiModule/zeroth/oneHuman, +/obj/item/ai_module/supplied/oxygen, +/obj/item/ai_module/zeroth/oneHuman, /obj/machinery/door/window{ dir = 8; name = "High-Risk Modules"; req_access_txt = "20" }, -/obj/item/aiModule/reset/purge, +/obj/item/ai_module/reset/purge, /obj/effect/spawner/lootdrop/aimodule_harmful, -/obj/item/aiModule/supplied/protectStation, +/obj/item/ai_module/supplied/protectStation, /obj/structure/window/reinforced{ dir = 1; pixel_y = 1 @@ -40417,7 +40417,7 @@ pixel_x = -26 }, /obj/item/aicard, -/obj/item/aiModule/reset, +/obj/item/ai_module/reset, /obj/item/assembly/flash/handheld, /obj/effect/turf_decal/tile/green{ dir = 1 diff --git a/_maps/map_files/Snaxi/Snaxi.dmm b/_maps/map_files/Snaxi/Snaxi.dmm index 51b0cdb586..c5d156bde2 100644 --- a/_maps/map_files/Snaxi/Snaxi.dmm +++ b/_maps/map_files/Snaxi/Snaxi.dmm @@ -21154,9 +21154,9 @@ /area/security/courtroom) "grZ" = ( /obj/structure/table, -/obj/item/aiModule/core/full/custom, -/obj/item/aiModule/core/freeformcore, -/obj/item/aiModule/core/full/asimov, +/obj/item/ai_module/core/full/custom, +/obj/item/ai_module/core/freeformcore, +/obj/item/ai_module/core/full/asimov, /obj/effect/spawner/lootdrop/aimodule_harmless, /obj/effect/spawner/lootdrop/aimodule_neutral, /obj/machinery/camera/motion{ @@ -32087,10 +32087,10 @@ req_access_txt = "20" }, /obj/structure/table, -/obj/item/aiModule/reset/purge, -/obj/item/aiModule/zeroth/oneHuman, -/obj/item/aiModule/supplied/protectStation, -/obj/item/aiModule/supplied/oxygen, +/obj/item/ai_module/reset/purge, +/obj/item/ai_module/zeroth/oneHuman, +/obj/item/ai_module/supplied/protectStation, +/obj/item/ai_module/supplied/oxygen, /obj/effect/spawner/lootdrop/aimodule_harmful, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai_upload) @@ -37565,7 +37565,7 @@ "qUF" = ( /obj/structure/table, /obj/item/aicard, -/obj/item/aiModule/reset, +/obj/item/ai_module/reset, /obj/item/assembly/flash/handheld, /obj/item/assembly/flash/handheld, /obj/item/clothing/gloves/color/yellow, @@ -43656,9 +43656,9 @@ /area/service/hydroponics) "uVD" = ( /obj/structure/table, -/obj/item/aiModule/reset, -/obj/item/aiModule/supplied/quarantine, -/obj/item/aiModule/supplied/freeform, +/obj/item/ai_module/reset, +/obj/item/ai_module/supplied/quarantine, +/obj/item/ai_module/supplied/freeform, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai_upload) "uWb" = ( diff --git a/_maps/map_files/SpookyStation/SpookyStation.dmm b/_maps/map_files/SpookyStation/SpookyStation.dmm index c8fdb504b4..586c4a0e27 100644 --- a/_maps/map_files/SpookyStation/SpookyStation.dmm +++ b/_maps/map_files/SpookyStation/SpookyStation.dmm @@ -9143,11 +9143,6 @@ /obj/machinery/light/small, /turf/open/floor/plasteel/cafeteria, /area/eventmap/inside) -"aAr" = ( -/obj/item/disk/tech_disk/debug, -/obj/machinery/light/floor, -/turf/open/floor/plasteel/dark, -/area/eventmap/mountaininside) "aAs" = ( /obj/structure/noticeboard{ dir = 1; @@ -9439,11 +9434,6 @@ icon_state = "bus" }, /area/shuttle/arrival) -"aBg" = ( -/obj/machinery/light/floor, -/obj/machinery/telecomms/broadcaster, -/turf/open/floor/plasteel/dark, -/area/eventmap/mountaininside) "aBh" = ( /obj/structure/window/reinforced/spawner/north, /turf/open/floor/plasteel/dark, @@ -9596,13 +9586,6 @@ /obj/item/bedsheet/pirate, /turf/open/floor/wood, /area/eventmap/inside) -"aBF" = ( -/obj/machinery/telecomms/allinone/indestructable{ - freq_listening = list(1347,1349,1351,1353,1355,1357,1359,1447) - }, -/obj/machinery/light/floor, -/turf/open/floor/plasteel/dark, -/area/eventmap/mountaininside) "aBG" = ( /obj/machinery/nanite_chamber, /turf/open/floor/circuit/off, @@ -9856,10 +9839,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/structure/closet/crate, -/obj/item/clothing/neck/devilwings, -/obj/item/clothing/gloves/bracer, -/obj/item/clothing/accessory/skullcodpiece, +/obj/machinery/gear_painter, /turf/open/floor/wood, /area/eventmap/inside) "aCr" = ( @@ -10013,11 +9993,6 @@ icon_state = "sepia" }, /area/eventmap/inside) -"aCQ" = ( -/obj/item/aiModule/reset/purge, -/obj/machinery/light/floor, -/turf/open/floor/plasteel/dark, -/area/eventmap/mountaininside) "aCR" = ( /obj/effect/landmark/start/head_of_security, /turf/open/floor/plasteel{ @@ -10690,10 +10665,6 @@ icon_state = "wood-broken5" }, /area/eventmap/inside) -"aEO" = ( -/obj/machinery/light/floor, -/turf/open/floor/plasteel/dark, -/area/eventmap/mountaininside) "aEP" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -11248,11 +11219,6 @@ /obj/item/bedsheet/hop, /turf/open/floor/wood, /area/eventmap/mountaininside) -"aGC" = ( -/obj/item/aiModule/supplied/freeform, -/obj/machinery/light/floor, -/turf/open/floor/plasteel/dark, -/area/eventmap/mountaininside) "aGD" = ( /obj/structure/flora/tree/spookytime, /turf/open/floor/spooktime/nonspooktimegrass, @@ -12454,11 +12420,6 @@ /obj/item/storage/fancy/candle_box, /turf/open/floor/wood, /area/eventmap/inside) -"aJY" = ( -/obj/machinery/ore_silo, -/obj/machinery/light/floor, -/turf/open/floor/plasteel/dark, -/area/eventmap/mountaininside) "aJZ" = ( /obj/item/reagent_containers/food/condiment/saltshaker, /obj/item/reagent_containers/food/condiment/peppermill, @@ -12528,11 +12489,6 @@ }, /turf/open/floor/carpet, /area/eventmap/inside) -"aKl" = ( -/obj/effect/landmark/start/ai, -/obj/machinery/light/floor, -/turf/open/floor/plasteel/dark, -/area/eventmap/mountaininside) "aKm" = ( /obj/structure/chair/sofa/left, /obj/effect/landmark/start/assistant, @@ -12549,46 +12505,6 @@ }, /turf/open/floor/carpet, /area/eventmap/inside) -"aKp" = ( -/obj/machinery/light/floor, -/obj/item/stack/sheet/glass/fifty{ - amount = 10000; - max_amount = 10000 - }, -/obj/item/stack/sheet/bluespace_crystal{ - amount = 10000; - max_amount = 10000 - }, -/obj/item/stack/sheet/metal{ - amount = 10000; - max_amount = 10000 - }, -/obj/item/stack/sheet/mineral/diamond{ - amount = 10000; - max_amount = 10000 - }, -/obj/item/stack/sheet/mineral/gold{ - amount = 10000; - max_amount = 10000 - }, -/obj/item/stack/sheet/mineral/plasma{ - amount = 10000; - max_amount = 10000 - }, -/obj/item/stack/sheet/mineral/silver{ - amount = 10000; - max_amount = 10000 - }, -/obj/item/stack/sheet/mineral/titanium{ - amount = 10000; - max_amount = 10000 - }, -/obj/item/stack/sheet/mineral/uranium{ - amount = 10000; - max_amount = 10000 - }, -/turf/open/floor/plasteel/dark, -/area/eventmap/mountaininside) "aKq" = ( /turf/open/floor/spooktime/cobble/roadsideS, /area/eventmap/outside) @@ -12615,6 +12531,9 @@ /obj/item/clothing/head/beret, /obj/item/clothing/head/bowler, /obj/item/clothing/head/fedora, +/obj/item/clothing/accessory/skullcodpiece, +/obj/item/clothing/neck/devilwings, +/obj/item/clothing/gloves/bracer, /turf/open/floor/wood, /area/eventmap/inside) "aKv" = ( @@ -13786,14 +13705,6 @@ }, /turf/open/floor/plasteel, /area/eventmap/inside) -"aNO" = ( -/obj/machinery/light/floor, -/obj/machinery/telecomms/bus{ - appearance_flags = "bus mainframe (NULL)"; - freq_listening = list(1347,1349,1351,1353,1355,1357,1359,1447) - }, -/turf/open/floor/plasteel/dark, -/area/eventmap/mountaininside) "aNP" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ @@ -14060,15 +13971,6 @@ "aOy" = ( /turf/open/floor/spooktime/beach/coasts/watercoastNW, /area/eventmap/outside) -"aOz" = ( -/obj/machinery/light/floor, -/obj/machinery/telecomms/processor{ - appearance_flags = "processor unit"; - freq_listening = list(1347,1349,1351,1353,1355,1357,1359,1447); - name = "processor unit (NULL)" - }, -/turf/open/floor/plasteel/dark, -/area/eventmap/mountaininside) "aOA" = ( /obj/structure/cable/white{ icon_state = "2-8" @@ -14387,15 +14289,6 @@ /obj/machinery/microwave, /turf/open/floor/wood, /area/eventmap/mountaininside) -"aPD" = ( -/obj/machinery/rnd/production/protolathe/department/science{ - acted_explosions = "Dumbasses"; - allowed_department_flags = 126; - name = "department protolathe (Dumb powergamers)" - }, -/obj/machinery/light/floor, -/turf/open/floor/plasteel/dark, -/area/eventmap/mountaininside) "aPE" = ( /obj/structure/table/wood/fancy/green, /obj/item/reagent_containers/food/snacks/pizza/vegetable, @@ -15020,11 +14913,6 @@ "aRP" = ( /turf/open/floor/wood/damturf/broken2, /area/eventmap/inside) -"aRQ" = ( -/obj/machinery/computer/rdconsole/core, -/obj/machinery/light/floor, -/turf/open/floor/plasteel/dark, -/area/eventmap/mountaininside) "aRS" = ( /turf/open/floor/plasteel/damturf/damage4, /area/eventmap/mountaininside) @@ -15376,11 +15264,6 @@ }, /turf/open/floor/spooktime/spooktimegrass, /area/eventmap/outside) -"aTR" = ( -/obj/machinery/light/floor, -/obj/machinery/telecomms/message_server, -/turf/open/floor/plasteel/dark, -/area/eventmap/mountaininside) "aTS" = ( /obj/structure/sign/departments/restroom{ pixel_y = 32 @@ -15449,13 +15332,6 @@ }, /turf/open/floor/plating, /area/eventmap/mountain) -"aUo" = ( -/obj/machinery/light/floor, -/obj/machinery/telecomms/processor{ - freq_listening = list(1359,1441) - }, -/turf/open/floor/plasteel/dark, -/area/eventmap/mountaininside) "aUr" = ( /turf/open/floor/plasteel/damturf/platdmg1, /area/eventmap/mountaininside) @@ -15730,13 +15606,6 @@ /obj/item/bedsheet/hos, /turf/open/floor/wood, /area/eventmap/mountaininside) -"aWK" = ( -/obj/machinery/light/floor, -/obj/machinery/telecomms/bus{ - freq_listening = list(1459,1441) - }, -/turf/open/floor/plasteel/dark, -/area/eventmap/mountaininside) "aWL" = ( /obj/structure/closet/gimmick/russian, /turf/open/floor/spooktime/dirtpatch, @@ -15783,6 +15652,9 @@ /obj/item/clothing/head/bearpelt, /obj/item/clothing/head/beret, /obj/item/clothing/head/fedora, +/obj/item/clothing/accessory/skullcodpiece, +/obj/item/clothing/gloves/bracer, +/obj/item/clothing/neck/devilwings, /turf/open/floor/wood, /area/eventmap/inside) "aWY" = ( @@ -15795,16 +15667,6 @@ "aWZ" = ( /turf/open/floor/spooktime/beach/coasts/innerS, /area/eventmap/outside) -"aXa" = ( -/obj/machinery/light/floor, -/obj/machinery/telecomms/receiver, -/turf/open/floor/plasteel/dark, -/area/eventmap/mountaininside) -"aXh" = ( -/obj/machinery/computer/upload/ai, -/obj/machinery/light/floor, -/turf/open/floor/plasteel/dark, -/area/eventmap/mountaininside) "aXj" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -16233,6 +16095,13 @@ }, /turf/open/floor/spooktime/cobble, /area/eventmap/outside) +"bas" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -35 + }, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) "baX" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -16738,6 +16607,1138 @@ }, /turf/open/floor/plasteel, /area/eventmap/outside) +"bjJ" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/eventmap/mountaininside) +"bLA" = ( +/turf/closed/wall/r_wall, +/area/tcommsat/server) +"bXE" = ( +/obj/machinery/rnd/production/protolathe/department/science{ + acted_explosions = "Dumbasses"; + allowed_department_flags = 126; + name = "department protolathe (Dumb powergamers)" + }, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"car" = ( +/obj/machinery/telecomms/bus/preset_four, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"cjF" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"cvj" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/eventmap/mountaininside) +"cvE" = ( +/obj/machinery/telecomms/server/presets/command, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"cRF" = ( +/obj/machinery/telecomms/bus/preset_three, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"dbo" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/eventmap/mountaininside) +"dcr" = ( +/obj/machinery/computer/telecomms/server{ + dir = 4; + network = "tcommsat" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"dgN" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/tcommsat/computer) +"dgR" = ( +/obj/machinery/telecomms/broadcaster/preset_right, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"dqu" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"dsM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"dyx" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/engineering/glass{ + name = "Server Room"; + req_access_txt = "61" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"dzl" = ( +/obj/machinery/gear_painter, +/turf/open/floor/circuit/off, +/area/eventmap/mountaininside) +"dBJ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"egY" = ( +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"eAQ" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"eGa" = ( +/obj/machinery/telecomms/broadcaster/preset_left, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"ePO" = ( +/obj/structure/table, +/obj/item/radio/off, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"eVF" = ( +/obj/item/radio/intercom{ + dir = 8; + freerange = 1; + name = "Station Intercom (Telecomms)"; + pixel_y = 26 + }, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"eYC" = ( +/obj/structure/table, +/obj/item/multitool, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"fMI" = ( +/obj/machinery/telecomms/receiver/preset_left, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"fRV" = ( +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Telecomms Admin"; + departmentType = 5; + name = "Telecomms RC"; + pixel_x = 30 + }, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"fSV" = ( +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"fXv" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"giz" = ( +/obj/machinery/telecomms/hub/preset, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"gkE" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/light, +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"gra" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/tcommsat/server) +"gIM" = ( +/obj/machinery/computer/telecomms/server{ + dir = 4; + network = "tcommsat" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"gRm" = ( +/obj/machinery/telecomms/bus/preset_four, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"gUn" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/tcommsat/server"; + dir = 1; + name = "Telecomms Server APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/tcommsat/server) +"hbO" = ( +/obj/machinery/telecomms/processor/preset_four, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"hqz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"hvj" = ( +/obj/machinery/telecomms/server/presets/engineering, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"hzN" = ( +/obj/machinery/door/airlock/command/glass{ + name = "Control Room"; + req_access_txt = "19; 61" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"hFm" = ( +/obj/machinery/ntnet_relay, +/turf/open/floor/circuit/telecomms/mainframe, +/area/eventmap/mountaininside) +"hPo" = ( +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"hWE" = ( +/obj/machinery/telecomms/receiver/preset_right, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"idT" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -35 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"ihd" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/eventmap/mountaininside) +"ihT" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering/glass{ + name = "Server Room"; + req_access_txt = "61" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"ina" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/engineering/glass{ + name = "Server Room"; + req_access_txt = "61" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"itL" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"iuT" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/tcommsat/server) +"iuW" = ( +/obj/item/disk/tech_disk/debug, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"iwi" = ( +/obj/machinery/telecomms/server/presets/security, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"iHS" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/announcement_system, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"iNH" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/eventmap/mountaininside) +"iNN" = ( +/obj/machinery/camera{ + c_tag = "Telecomms Server Room"; + dir = 4; + network = list("tcomms") + }, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"iPO" = ( +/obj/machinery/telecomms/server/presets/service, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"iTX" = ( +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/tcommsat/server) +"iWA" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering/glass{ + name = "Server Room"; + req_access_txt = "61" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"jox" = ( +/obj/machinery/telecomms/processor/preset_two, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"jru" = ( +/obj/machinery/telecomms/processor/preset_one, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"jEF" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/eventmap/mountaininside) +"jNZ" = ( +/obj/machinery/computer/message_monitor{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"jUY" = ( +/obj/machinery/telecomms/server/presets/science, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"kte" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"kBF" = ( +/obj/structure/closet/emcloset, +/obj/machinery/camera{ + c_tag = "Telecomms Monitoring"; + dir = 8; + network = list("tcomms") + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"kDK" = ( +/obj/machinery/telecomms/server/presets/science, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"kRw" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/tcommsat/computer) +"kWj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/tcommsat/computer) +"liD" = ( +/obj/item/radio/intercom{ + dir = 8; + freerange = 1; + name = "Station Intercom (Telecomms)"; + pixel_y = 26 + }, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"liZ" = ( +/obj/item/ai_module/reset/purge, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"lxA" = ( +/obj/machinery/blackbox_recorder, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"lCx" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"lES" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"lJN" = ( +/obj/machinery/telecomms/message_server, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"lJV" = ( +/obj/machinery/telecomms/processor/preset_one, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"lRv" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/tcommsat/computer) +"mpZ" = ( +/obj/machinery/telecomms/bus/preset_three, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"mvm" = ( +/obj/machinery/telecomms/bus/preset_one, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"myC" = ( +/obj/machinery/telecomms/broadcaster/preset_right, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"mDp" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/tcommsat/computer) +"mJd" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/machinery/ore_silo, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"mNu" = ( +/obj/machinery/light, +/turf/open/floor/circuit/telecomms/mainframe, +/area/eventmap/mountaininside) +"nxt" = ( +/obj/machinery/telecomms/server/presets/common, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"nOO" = ( +/obj/machinery/telecomms/server/presets/engineering, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"nUS" = ( +/obj/machinery/telecomms/hub/preset, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/eventmap/mountaininside) +"ooP" = ( +/obj/machinery/door/airlock/engineering{ + name = "Telecommunications"; + req_access_txt = "61" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"ouD" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"oBM" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"oLt" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"oPH" = ( +/obj/machinery/telecomms/server/presets/supply, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"oTm" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"paH" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"psG" = ( +/obj/machinery/camera{ + c_tag = "Telecomms Server Room"; + dir = 4; + network = list("tcomms") + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"pur" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/eventmap/mountaininside) +"pxt" = ( +/turf/closed/wall/r_wall, +/area/tcommsat/computer) +"pDy" = ( +/obj/machinery/telecomms/bus/preset_one, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"pIk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/holopad/secure, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"pOM" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"pYH" = ( +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/eventmap/mountaininside) +"qbF" = ( +/obj/machinery/computer/telecomms/monitor{ + dir = 4; + network = "tcommsat" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"qhF" = ( +/obj/machinery/light_switch{ + pixel_x = 27 + }, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"qqG" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/eventmap/mountaininside) +"qsw" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/tcommsat/computer) +"qtw" = ( +/obj/machinery/light, +/obj/machinery/computer/upload/ai{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"quU" = ( +/obj/machinery/telecomms/server/presets/medical, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"qyu" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/tcommsat/server) +"qJf" = ( +/turf/open/floor/circuit/telecomms/mainframe, +/area/tcommsat/server) +"qQZ" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/item/pen/fountain, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"qTn" = ( +/obj/machinery/camera{ + c_tag = "Telecomms Monitoring"; + dir = 8; + network = list("tcomms") + }, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"qUm" = ( +/obj/item/ai_module/supplied/freeform, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"qWJ" = ( +/obj/machinery/telecomms/receiver/preset_right, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"qYa" = ( +/obj/machinery/computer/message_monitor{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"rjg" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/eventmap/mountaininside) +"rwN" = ( +/obj/machinery/telecomms/receiver/preset_left, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"rxi" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/tcommsat/server) +"rSf" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/eventmap/mountaininside) +"rTJ" = ( +/obj/machinery/telecomms/message_server, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"slE" = ( +/obj/effect/landmark/start/ai, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"ssq" = ( +/turf/open/floor/circuit/telecomms/mainframe, +/area/eventmap/mountaininside) +"sCi" = ( +/obj/machinery/telecomms/server/presets/supply, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"sJq" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/eventmap/mountaininside) +"sJF" = ( +/obj/machinery/telecomms/bus/preset_two, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"sOw" = ( +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Telecomms Admin"; + departmentType = 5; + name = "Telecomms RC"; + pixel_x = 30 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"sZY" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/tcommsat/computer) +"tHV" = ( +/obj/machinery/light_switch{ + pixel_x = 27 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"tTs" = ( +/obj/machinery/telecomms/server/presets/common, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"uaU" = ( +/obj/machinery/telecomms/processor/preset_two, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"ubo" = ( +/obj/machinery/ntnet_relay, +/turf/open/floor/circuit/telecomms/mainframe, +/area/tcommsat/server) +"uhq" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/tcommsat/computer) +"ukf" = ( +/obj/machinery/computer/telecomms/monitor{ + dir = 4; + network = "tcommsat" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"unw" = ( +/obj/machinery/telecomms/broadcaster/preset_left, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"upB" = ( +/obj/structure/table, +/obj/item/folder/blue, +/obj/item/pen/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"uEU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"uLJ" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/eventmap/mountaininside) +"uMt" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/tcommsat/server) +"vdv" = ( +/obj/structure/sign/warning/securearea{ + desc = "A warning sign which reads 'SERVER ROOM'."; + name = "SERVER ROOM" + }, +/turf/closed/wall, +/area/eventmap/mountaininside) +"vft" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/tcommsat/computer) +"vgd" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall, +/area/eventmap/mountaininside) +"voq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"vFK" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/tcommsat/computer) +"vMZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"vQI" = ( +/obj/machinery/telecomms/server/presets/security, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"vUD" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_y = -32 + }, +/obj/machinery/light, +/turf/open/floor/circuit/telecomms/mainframe, +/area/tcommsat/server) +"vYv" = ( +/obj/machinery/telecomms/bus/preset_two, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"vZx" = ( +/obj/machinery/telecomms/server/presets/service, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"wcR" = ( +/obj/item/paper/crumpled/bloody{ + name = "ominous note"; + info = "You're not supposed to be here." + }, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"wxX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"wzn" = ( +/obj/structure/table, +/obj/item/multitool, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"wAF" = ( +/obj/machinery/telecomms/server/presets/command, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"wCg" = ( +/obj/machinery/telecomms/server/presets/medical, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"wHZ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/tcommsat/computer) +"wYP" = ( +/obj/structure/sign/warning/securearea{ + desc = "A warning sign which reads 'SERVER ROOM'."; + name = "SERVER ROOM" + }, +/turf/closed/wall, +/area/tcommsat/computer) +"xmW" = ( +/obj/machinery/gear_painter, +/turf/open/floor/carpet/blue, +/area/eventmap/inside) +"xzS" = ( +/obj/machinery/telecomms/processor/preset_three, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"xAi" = ( +/obj/machinery/computer/rdconsole/core{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"xDg" = ( +/obj/machinery/telecomms/processor/preset_three, +/turf/open/floor/plasteel/dark, +/area/eventmap/mountaininside) +"xEk" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/eventmap/mountaininside) +"xYl" = ( +/obj/item/stack/sheet/glass/fifty{ + amount = 10000; + max_amount = 10000 + }, +/obj/item/stack/sheet/bluespace_crystal{ + amount = 10000; + max_amount = 10000 + }, +/obj/item/stack/sheet/metal{ + amount = 10000; + max_amount = 10000 + }, +/obj/item/stack/sheet/mineral/diamond{ + amount = 10000; + max_amount = 10000 + }, +/obj/item/stack/sheet/mineral/gold{ + amount = 10000; + max_amount = 10000 + }, +/obj/item/stack/sheet/mineral/plasma{ + amount = 10000; + max_amount = 10000 + }, +/obj/item/stack/sheet/mineral/silver{ + amount = 10000; + max_amount = 10000 + }, +/obj/item/stack/sheet/mineral/titanium{ + amount = 10000; + max_amount = 10000 + }, +/obj/item/stack/sheet/mineral/uranium{ + amount = 10000; + max_amount = 10000 + }, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"xYn" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/tcommsat/computer) +"yhC" = ( +/obj/machinery/telecomms/processor/preset_four, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"yjc" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/announcement_system, +/turf/open/floor/plasteel, +/area/eventmap/mountaininside) +"ykK" = ( +/obj/machinery/blackbox_recorder, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) (1,1,1) = {" aJx @@ -33664,7 +34665,7 @@ aJe aZt aCG aGh -aZt +dzl aZt aZt aZt @@ -33921,7 +34922,7 @@ aZt aZt aCG aGh -aZt +dzl aZt aUW aZt @@ -41536,7 +42537,7 @@ aqE aqE aqE aIK -aqI +xmW aqr agN aOE @@ -49375,7 +50376,7 @@ aac aac aac aac -aJx +aac aJx "} (128,1,1) = {" @@ -49631,8 +50632,8 @@ aac aac aac aac -aJx -aJx +aac +aac aJx "} (129,1,1) = {" @@ -49888,8 +50889,8 @@ aac aac aac aac -aJx -aJx +aac +aac aJx "} (130,1,1) = {" @@ -50143,10 +51144,10 @@ aac aac aac aac -aJx -aJx -aJx -aJx +aac +aac +aac +aac aJx "} (131,1,1) = {" @@ -50399,12 +51400,12 @@ aac aac aac aac +aac +aac +aac +aac +aac aJx -azQ -azQ -azQ -azQ -azQ "} (132,1,1) = {" aJx @@ -50655,13 +51656,13 @@ aRW aac aac aac +aac +aac +aac +aac +aac +aac aJx -azQ -aOz -aEO -aEO -aUo -azQ "} (133,1,1) = {" aJx @@ -50911,14 +51912,14 @@ aRW aRW aac aac +aac +aac +aac +aac +aac +aac +aac aJx -aJx -azQ -aNO -aEO -aEO -aXa -azQ "} (134,1,1) = {" aJx @@ -51168,14 +52169,14 @@ aRW aRW aac aac +aac +aac +aac +aac +aac +aac +aac aJx -azQ -azQ -aTR -aEO -aEO -aBg -azQ "} (135,1,1) = {" aJx @@ -51425,14 +52426,14 @@ aRW aRW aRW aac +aac +aac +aac +aac +aac +aac +aac aJx -azQ -aEO -aEO -aGC -aCQ -aWK -azQ "} (136,1,1) = {" aJx @@ -51682,14 +52683,14 @@ aRW aRW aRU aac +aac +aac +aac +aac +aac +aac +aac aJx -azQ -aBF -aEO -aEO -aXh -azQ -azQ "} (137,1,1) = {" aJx @@ -51939,13 +52940,13 @@ aRW aRW aRW aac -aJx -azQ -aEO -aEO -aEO -aKl -azQ +aac +aac +aac +aac +aac +aac +aac aJx "} (138,1,1) = {" @@ -52196,13 +53197,13 @@ aRW aRW aac aac -aJx -azQ -aRQ -aAr -aEO -aKp -azQ +aac +aac +aac +aac +aac +aac +aac aJx "} (139,1,1) = {" @@ -52453,13 +53454,13 @@ aRW aRW aac aac -aJx -azQ -aPD -aEO -aEO -aJY -azQ +aac +aac +aac +aac +aac +aac +aac aJx "} (140,1,1) = {" @@ -52710,13 +53711,13 @@ aRW aRW aac aac -aJx -azQ -azQ -azQ -azQ -azQ -azQ +aac +aac +aac +aac +aac +aac +aac aJx "} (141,1,1) = {" @@ -52967,13 +53968,13 @@ aRW aRW aac aac -aJx -aJx -aJx -aJx -aJx -aJx -aJx +aac +aac +aac +aac +aac +aac +aac aJx "} (142,1,1) = {" @@ -53225,12 +54226,12 @@ aRW aac aac aac -aJx -aJx -aJx -aJx -aJx -aJx +aac +aac +aac +aac +aac +aac aJx "} (143,1,1) = {" @@ -53483,11 +54484,11 @@ aRU aac aac aac -aJx -aJx -aJx -aJx -aJx +aac +aac +aac +aac +aac aJx "} (144,1,1) = {" @@ -53742,9 +54743,9 @@ aac aac aac aac -aJx -aJx -aJx +aac +aac +aac aJx "} (145,1,1) = {" @@ -54000,8 +55001,8 @@ aac aac aac aac -aJx -aJx +aac +aac aJx "} (146,1,1) = {" @@ -54257,8 +55258,8 @@ aRU aac aac aac -aJx -aJx +aac +aac aJx "} (147,1,1) = {" @@ -54511,11 +55512,11 @@ aRW aRW aRW aRW -aRW aac aac aac -aJx +aac +aac aJx "} (148,1,1) = {" @@ -78164,18 +79165,18 @@ aJx "} (240,1,1) = {" aJx -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac +aJx +aJx +aJx +aJx +aJx +aJx +aJx +aJx +aJx +aJx +aJx +aJx aac aac aac @@ -78421,18 +79422,18 @@ aJx "} (241,1,1) = {" aJx -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac +aJx +aJx +aJx +aJx +aJx +aJx +aJx +aJx +aJx +aJx +aJx +aJx aac aac aac @@ -78677,19 +79678,19 @@ aac aJx "} (242,1,1) = {" +azQ +azQ +azQ +azQ +azQ +azQ +azQ +azQ +azQ +azQ +azQ +aJx aJx -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac aac aac aac @@ -78918,35 +79919,35 @@ aac aac aac aac -aac -aac -aac -aac -ags -ags -aac -aac -aac -aac -aac +bLA +bLA +bLA +bLA +bLA +bLA +bLA +bLA +bLA +bLA +bLA aac aac aJx "} (243,1,1) = {" +azQ +ssq +ssq +egY +egY +hFm +iNN +egY +ssq +ssq +azQ +aJx aJx -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac aac aac aac @@ -79175,35 +80176,35 @@ aac aac aac aac -aac -aac -aac -ags -aZS -aZS -aac -aac -aac -aac -aac +bLA +qJf +qJf +hPo +hPo +ubo +psG +hPo +qJf +qJf +bLA aac aac aJx "} (244,1,1) = {" +azQ +hvj +nxt +lxA +egY +pYH +dqu +lJN +oPH +vZx +azQ +aJx aJx -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac aac aac aac @@ -79432,35 +80433,35 @@ aac aac aac aac -aac -aac -ags -ags -aZS -aac -aac -aac -aac -aac -aac +bLA +nOO +tTs +ykK +hPo +iTX +pOM +rTJ +sCi +iPO +bLA aac aac aJx "} (245,1,1) = {" +azQ +gRm +hbO +dgR +uLJ +bjJ +ssq +eGa +vYv +uaU +azQ +aJx aJx -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac aac aac aac @@ -79689,35 +80690,35 @@ aac aac aac aac -aac -ags -ags -ags -aZS -aac -aac -aac -aac -aac -aac +bLA +car +yhC +myC +iuT +uMt +qJf +unw +sJF +jox +bLA aac aac aJx "} (246,1,1) = {" +azQ +rSf +sJq +sJq +rjg +nUS +ssq +ssq +ssq +mNu +azQ +aJx aJx -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac aac aac aac @@ -79946,35 +80947,35 @@ aac aac ags ags -ags -ags -ags -ags -aac -aac -aac -aac -aac -aac -aac +bLA +gUn +rxi +rxi +qyu +giz +qJf +qJf +qJf +vUD +bLA aac aac aJx "} (247,1,1) = {" +azQ +xDg +cRF +qWJ +cvj +ssq +ssq +rwN +jru +pDy +azQ +aJx aJx -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac aac aac aac @@ -80203,22 +81204,34 @@ ags ags ags aac -aac -ags -ags -aac -aac -aac -aac -aac -aac -aac -aac +bLA +xzS +mpZ +hWE +gra +qJf +qJf +fMI +lJV +mvm +bLA aac aac aJx "} (248,1,1) = {" +azQ +iwi +cvE +egY +lCx +ssq +egY +egY +quU +kDK +azQ +aJx aJx aac aac @@ -80329,18 +81342,6 @@ aac aac aac aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac ags ags ags @@ -80460,35 +81461,35 @@ ags aac aac aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac +bLA +vQI +wAF +hPo +oBM +qJf +hPo +hPo +wCg +jUY +bLA aac aac aJx "} (249,1,1) = {" +azQ +ssq +ssq +egY +iNH +ihT +pur +egY +ssq +ssq +azQ +aJx aJx -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac aac aac aac @@ -80717,35 +81718,35 @@ aac aac aac aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac +bLA +qJf +qJf +hPo +uhq +iWA +qsw +hPo +qJf +qJf +bLA aac aac aJx "} (250,1,1) = {" +azQ +jEF +xEk +xEk +ihd +cjF +qqG +xEk +xEk +dbo +azQ +aJx aJx -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac aac aac aac @@ -80974,22 +81975,34 @@ aac aac aac aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac +pxt +mDp +vFK +vFK +kRw +dBJ +kWj +vFK +vFK +lRv +pxt aac aac aJx "} (251,1,1) = {" +azQ +mJd +jNZ +gIM +vgd +ina +vdv +wzn +qbF +ouD +azQ +aJx aJx aac aac @@ -81143,18 +82156,6 @@ aac aac aac aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac ags ags ags @@ -81231,22 +82232,34 @@ aac aac aac aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac +pxt +lES +qYa +dcr +vft +dyx +wYP +eYC +ukf +ePO +pxt aac aac aJx "} (252,1,1) = {" +azQ +eVF +kte +aZA +aZA +voq +aZA +aZA +kte +bas +azQ +aJx aJx aac aac @@ -81403,18 +82416,6 @@ aac aac aac aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac ags ags ags @@ -81488,22 +82489,34 @@ aac aac aac aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac +pxt +liD +eAQ +itL +dgN +wxX +fSV +wHZ +oTm +idT +pxt aac aac aJx "} (253,1,1) = {" +azQ +yjc +aZA +iuW +aZA +aZA +wcR +aZA +qUm +qtw +azQ +aJx aJx aac aac @@ -81733,34 +82746,34 @@ aac aac aac aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac +pxt +iHS +wHZ +dsM +hzN +vMZ +pIk +hqz +oLt +gkE +pxt aac aac aJx "} (254,1,1) = {" +azQ +bXE +xYl +xAi +aZA +qTn +fRV +qhF +liZ +slE +azQ +aJx aJx aac aac @@ -81990,34 +83003,33 @@ aac aac aac aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac -aac +pxt +pxt +qQZ +upB +sZY +kBF +sOw +tHV +uEU +fXv +pxt aac aac aJx "} (255,1,1) = {" +azQ +azQ +azQ +azQ +azQ +azQ +azQ +azQ +azQ +azQ +azQ aJx aJx aJx @@ -82248,28 +83260,17 @@ aJx aJx aJx aJx -aJx -aJx -aJx -aJx -aJx -aJx -aJx -aJx -aJx -aJx -aJx -aJx -aJx -aJx -aJx -aJx -aJx -aJx -aJx -aJx -aJx -aJx +paH +pxt +pxt +pxt +pxt +pxt +pxt +xYn +ooP +pxt +pxt aJx aJx aJx diff --git a/_maps/map_files/SyndicateStation/SyndicateBoxStation.dmm b/_maps/map_files/SyndicateStation/SyndicateBoxStation.dmm new file mode 100644 index 0000000000..f2352e5bdb --- /dev/null +++ b/_maps/map_files/SyndicateStation/SyndicateBoxStation.dmm @@ -0,0 +1,131047 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aaa" = ( +/turf/open/space/basic, +/area/space) +"aab" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/table, +/obj/machinery/chem_dispenser/drinks/beer{ + dir = 8 + }, +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"aac" = ( +/obj/machinery/camera{ + c_tag = "Bar"; + dir = 8 + }, +/obj/structure/table, +/obj/machinery/chem_dispenser/drinks{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"aad" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"aae" = ( +/obj/effect/landmark/carpspawn, +/turf/open/space, +/area/space) +"aaf" = ( +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"aag" = ( +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/space/nearstation) +"aah" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"aam" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"aan" = ( +/obj/structure/closet/crate/bin, +/obj/effect/spawner/lootdrop/prison_contraband, +/obj/item/trash/sosjerky, +/obj/item/trash/boritos, +/obj/item/trash/can, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom{ + desc = "Talk through this. It looks like it has been modified to not broadcast."; + name = "Prison Intercom (General)"; + pixel_x = -27; + pixel_y = -27; + prison_radio = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"aao" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"aap" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"aat" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aau" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"aav" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aax" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"aay" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"aaz" = ( +/obj/machinery/disposal/bin, +/obj/structure/sign/plaques/deempisi{ + pixel_x = -28; + pixel_y = -4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "barShutters"; + name = "bar shutters"; + pixel_x = 4; + pixel_y = 28 + }, +/obj/machinery/light_switch{ + name = "Bar Lights"; + pixel_x = -6; + pixel_y = 28 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"aaA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"aaC" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/holopad, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"aaD" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"aaE" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Prison Cafeteria" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"aaF" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"aaG" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"aaH" = ( +/turf/open/floor/plating/airless, +/area/space/nearstation) +"aaI" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/cafeteria, +/area/security/prison/upper) +"aaK" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"aaL" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "hos" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/command/heads_quarters/hos) +"aaM" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "hos" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/command/heads_quarters/hos) +"aaN" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/security/prison/upper) +"aaO" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "hos" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/command/heads_quarters/hos) +"aaP" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"aaQ" = ( +/turf/closed/wall/r_wall/syndicate, +/area/security/warden) +"aaR" = ( +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"aaS" = ( +/obj/structure/grille, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"aaT" = ( +/obj/structure/lattice, +/obj/structure/grille, +/turf/open/space, +/area/space/nearstation) +"aaU" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/security/glass{ + id_tag = "permaouter"; + name = "Permabrig Transfer"; + req_access_txt = "2" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aaV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/closed/wall/r_wall/syndicate, +/area/security/prison/upper) +"aaW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/security/prison/upper) +"aaY" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/crate/secure/weapon{ + desc = "A secure clothing crate."; + name = "formal uniform crate"; + req_access = "3" + }, +/obj/item/clothing/under/rank/security/officer/formal, +/obj/item/clothing/under/rank/security/officer/formal, +/obj/item/clothing/under/rank/security/officer/formal, +/obj/item/clothing/under/rank/security/officer/formal, +/obj/item/clothing/under/rank/security/officer/formal, +/obj/item/clothing/under/rank/security/warden/formal, +/obj/item/clothing/under/rank/security/head_of_security/formal, +/obj/item/clothing/suit/armor/navyblue, +/obj/item/clothing/suit/armor/navyblue, +/obj/item/clothing/suit/armor/navyblue, +/obj/item/clothing/suit/armor/navyblue, +/obj/item/clothing/suit/armor/navyblue, +/obj/item/clothing/suit/armor/vest/warden/navyblue, +/obj/item/clothing/suit/armor/hos/navyblue, +/obj/item/clothing/head/beret/sec/navyofficer, +/obj/item/clothing/head/beret/sec/navyofficer, +/obj/item/clothing/head/beret/sec/navyofficer, +/obj/item/clothing/head/beret/sec/navyofficer, +/obj/item/clothing/head/beret/sec/navyofficer, +/obj/item/clothing/head/beret/sec/navywarden, +/obj/item/clothing/head/beret/sec/navyhos, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"aaZ" = ( +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/security/armory) +"aba" = ( +/obj/structure/lattice, +/obj/structure/grille/broken, +/turf/open/space, +/area/space/nearstation) +"abb" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"abc" = ( +/turf/closed/wall/r_wall/syndicate, +/area/security/execution/transfer) +"abd" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/closed/wall, +/area/security/execution/transfer) +"abe" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/security/execution/transfer) +"abf" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/grunge{ + name = "Prison Laundry"; + wiretypepath = /datum/wires/airlock/security + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"abg" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"abh" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"abi" = ( +/obj/machinery/button/flasher{ + id = "visitorflash"; + pixel_x = -6; + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/button/door{ + id = "visitation"; + name = "Visitation Shutters"; + pixel_x = -6; + pixel_y = 36; + req_access_txt = "2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"abj" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"abk" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"abl" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"abm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard/aft) +"abn" = ( +/obj/structure/closet/secure_closet/security/sec, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"abo" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/office) +"abp" = ( +/turf/closed/wall/r_wall/syndicate, +/area/security/office) +"abq" = ( +/turf/closed/wall/r_wall/syndicate, +/area/command/heads_quarters/hos) +"abr" = ( +/obj/machinery/computer/security/hos, +/obj/effect/turf_decal/bot, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/command/heads_quarters/hos) +"abt" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"abu" = ( +/obj/machinery/door/poddoor{ + id = "executionspaceblast" + }, +/turf/open/floor/plating, +/area/security/execution/transfer) +"abv" = ( +/obj/machinery/camera{ + c_tag = "Prison Cell Block East"; + dir = 8; + network = list("ss13","prison") + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"abx" = ( +/obj/machinery/camera/motion{ + c_tag = "Armory External Motion Sensor"; + dir = 4 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/ai_monitored/security/armory) +"abz" = ( +/obj/machinery/light/small{ + dir = 4; + light_color = "#d8b1b1" + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"abA" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Prison Gate"; + name = "Prison Lockdown Shutters" + }, +/turf/open/floor/plating, +/area/security/prison) +"abE" = ( +/obj/structure/chair/stool, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"abF" = ( +/obj/structure/table, +/obj/item/flashlight/lamp, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"abG" = ( +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/ai_monitored/security/armory) +"abH" = ( +/obj/structure/closet/secure_closet/security/sec, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"abI" = ( +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"abJ" = ( +/obj/machinery/vending/wardrobe/sec_wardrobe, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"abK" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"abL" = ( +/obj/structure/chair/stool, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"abN" = ( +/obj/effect/landmark/secequipment, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"abP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"abQ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/hos) +"abR" = ( +/obj/machinery/vending/security, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"abS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"abT" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "hos" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/command/heads_quarters/hos) +"abU" = ( +/obj/structure/table/wood, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/gun/ballistic/automatic/sniper_rifle/syndicate, +/obj/item/ammo_box/magazine/sniper_rounds, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/hos) +"abV" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Brig Equipment Room"; + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"abW" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "hos" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/command/heads_quarters/hos) +"abX" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/tracker, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solars/starboard/fore) +"abY" = ( +/obj/structure/grille, +/turf/open/space, +/area/space/nearstation) +"aca" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/execution/transfer) +"acb" = ( +/obj/machinery/sparker{ + id = "executionburn"; + pixel_x = 25 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/execution/transfer) +"acc" = ( +/obj/structure/bed, +/turf/open/floor/plasteel/dark, +/area/security/execution/transfer) +"acd" = ( +/turf/closed/wall/r_wall/syndicate, +/area/security/prison) +"ace" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"acg" = ( +/obj/machinery/door/poddoor/shutters{ + id = "visitation"; + name = "Visitation Shutters" + }, +/obj/machinery/door/window/southleft, +/obj/structure/table/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"ach" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/camera{ + c_tag = "Prison Visitation"; + dir = 8; + network = list("ss13","prison") + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"aci" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/command/heads_quarters/hos) +"acj" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/hos) +"ack" = ( +/obj/structure/table/reinforced, +/obj/item/grenade/barrier{ + pixel_x = 4 + }, +/obj/item/grenade/barrier, +/obj/item/grenade/barrier{ + pixel_x = -4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/ai_monitored/security/armory"; + dir = 8; + name = "Armory APC"; + pixel_x = -25 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"acl" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/end{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"acm" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"acn" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"aco" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"acp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"acq" = ( +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"acr" = ( +/obj/structure/chair/comfy/black, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/hos) +"acs" = ( +/obj/machinery/power/apc{ + areastring = "/area/command/heads_quarters/hos"; + dir = 8; + name = "Head of Security's Office APC"; + pixel_x = -25 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/bed/dogbed{ + desc = "A comfy-looking pet bed. You can even strap your pet in, in case the gravity turns off."; + name = "pet bed" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/mob/living/simple_animal/hostile/retaliate/bat/secbat{ + desc = "An adorable fruit bat with a cute little hat, may or may not have a reputation for biting out eyeballs, or at least that's what the HoS'd tell you."; + name = "Colonel Chomps" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/command/heads_quarters/hos) +"act" = ( +/obj/machinery/holopad/secure, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/hos) +"acu" = ( +/turf/open/floor/carpet/black, +/area/command/heads_quarters/hos) +"acv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/command/heads_quarters/hos) +"acw" = ( +/obj/structure/sign/warning/securearea{ + pixel_y = -32 + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/space/nearstation) +"acx" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/starboard/fore) +"acy" = ( +/obj/structure/lattice, +/obj/item/stack/cable_coil/random, +/turf/open/space, +/area/space/nearstation) +"acA" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/landmark/start/prisoner, +/obj/machinery/button/door{ + id = "permacells1"; + name = "Privacy Shutters"; + pixel_x = 25 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"acC" = ( +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"acD" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "Prison Gate"; + name = "prison blast door" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Prison Gate"; + name = "Prison Lockdown Shutters" + }, +/turf/open/floor/plating, +/area/security/prison/upper) +"acE" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"acF" = ( +/obj/machinery/light_switch{ + pixel_y = -23 + }, +/obj/effect/landmark/event_spawn, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/command/heads_quarters/hos) +"acG" = ( +/turf/closed/wall, +/area/security/prison/upper) +"acH" = ( +/obj/structure/window/reinforced/tinted{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"acI" = ( +/obj/effect/spawner/lootdrop/prison_contraband, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/bed, +/obj/item/bedsheet/red, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"acJ" = ( +/obj/structure/chair/stool, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"acL" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/command/heads_quarters/hos) +"acM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"acN" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"acO" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"acP" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = 30 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"acQ" = ( +/obj/structure/table/wood, +/obj/item/folder/red, +/obj/item/stamp/hos, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/hos) +"acR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "hos" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/command/heads_quarters/hos) +"acS" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "hos" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/command/heads_quarters/hos) +"acT" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ai_monitored/security/armory) +"acU" = ( +/obj/machinery/door/airlock/external{ + name = "Security External Airlock"; + req_access_txt = "63" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"acW" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/solar{ + id = "auxsolareast"; + name = "Port Auxiliary Solar Array" + }, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solars/port/fore) +"acY" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"ada" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"adb" = ( +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"adc" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"add" = ( +/obj/structure/table, +/obj/item/clothing/shoes/sneakers/orange{ + pixel_x = -6; + pixel_y = 10 + }, +/obj/item/clothing/shoes/sneakers/orange{ + pixel_x = -6; + pixel_y = -2 + }, +/obj/item/clothing/shoes/sneakers/orange{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/clothing/shoes/sneakers/orange{ + pixel_x = -6; + pixel_y = -8 + }, +/obj/item/clothing/under/rank/prisoner{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/machinery/camera{ + c_tag = "Permabrig Processing"; + dir = 8; + network = list("ss13","prison") + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"adf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"adg" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ai_monitored/security/armory) +"adh" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"adi" = ( +/obj/structure/rack, +/obj/item/gun/ballistic/shotgun/riot{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/gun/ballistic/shotgun/riot, +/obj/item/gun/ballistic/shotgun/riot{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"adj" = ( +/obj/machinery/recharger, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/structure/table/reinforced, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"adk" = ( +/obj/machinery/recharger, +/obj/structure/table/reinforced, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"adl" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"adm" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_x = 29 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/landmark/secequipment, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"adn" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/hos) +"ado" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"adp" = ( +/obj/effect/turf_decal/tile/red, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"adq" = ( +/obj/machinery/computer/slot_machine{ + balance = 15; + money = 500; + pixel_x = -5 + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"adr" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_x = -32 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"ads" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/solar{ + id = "auxsolareast"; + name = "Port Auxiliary Solar Array" + }, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solars/starboard/fore) +"adt" = ( +/obj/structure/cable, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/starboard/fore) +"adu" = ( +/obj/effect/landmark/barthpot, +/turf/open/floor/plasteel/dark, +/area/service/library) +"ady" = ( +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/port/fore) +"adA" = ( +/obj/structure/cable, +/obj/machinery/power/solar{ + id = "auxsolareast"; + name = "Port Auxiliary Solar Array" + }, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solars/port/fore) +"adB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"adD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/security/prison/cells) +"adF" = ( +/obj/machinery/door/airlock/security/glass{ + id_tag = "permaouter"; + name = "Permabrig Transfer"; + req_access_txt = "2" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"adH" = ( +/obj/machinery/door/airlock/security/glass{ + id_tag = "permaouter"; + name = "Permabrig Transfer"; + req_access_txt = "2" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"adI" = ( +/turf/closed/wall/r_wall/syndicate, +/area/security/prison/upper) +"adJ" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Prison Visitation"; + req_access_txt = "2" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"adK" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/camera{ + c_tag = "Brig EVA Storage"; + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"adL" = ( +/obj/machinery/suit_storage_unit/security, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"adM" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"adN" = ( +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Head of Security's Desk"; + departmentType = 5; + name = "Head of Security RC"; + pixel_y = 30 + }, +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_x = -31 + }, +/obj/structure/table/wood, +/obj/item/storage/box/seccarts{ + pixel_x = 3; + pixel_y = 2 + }, +/obj/item/storage/box/deputy, +/turf/open/floor/mineral/plastitanium/red, +/area/command/heads_quarters/hos) +"adO" = ( +/obj/machinery/computer/secure_data, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/command/heads_quarters/hos) +"adP" = ( +/obj/structure/rack, +/obj/item/gun/energy/e_gun{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/gun/energy/e_gun, +/obj/item/gun/energy/e_gun{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/structure/window/reinforced, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"adQ" = ( +/obj/machinery/computer/card/minor/hos, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/command/heads_quarters/hos) +"adS" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/starboard/fore) +"adT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/starboard/fore) +"adU" = ( +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/starboard/fore) +"adV" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/starboard/fore) +"adW" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/starboard/fore) +"adX" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/starboard/fore) +"adY" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/starboard/fore) +"aed" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/effect/turf_decal/delivery, +/obj/machinery/disposal/deliveryChute{ + name = "Prisoner Chute" + }, +/obj/structure/plasticflaps/opaque{ + name = "Prisoner Transfer" + }, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aef" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aeg" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aeh" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = 30 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aei" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Prison Gate"; + name = "Prison Lockdown Shutters" + }, +/turf/open/floor/plating, +/area/security/prison) +"aej" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_y = 23 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aek" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"ael" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aem" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/disposalpipe/segment, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aen" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Prison Hallway East"; + network = list("ss13","prison") + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aeo" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aep" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aeq" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aer" = ( +/obj/machinery/power/apc{ + areastring = "/area/security/prison"; + dir = 4; + name = "Prison Wing APC"; + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aes" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = 30 + }, +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = -5 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/command/heads_quarters/hos) +"aet" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Equipment Room"; + req_access_txt = "1" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"aeu" = ( +/obj/machinery/newscaster/security_unit{ + pixel_x = -30 + }, +/obj/machinery/camera{ + c_tag = "Head of Security's Office"; + dir = 4 + }, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/structure/table/wood, +/turf/open/floor/mineral/plastitanium/red, +/area/command/heads_quarters/hos) +"aev" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aew" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"aex" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/ai_monitored/security/armory) +"aey" = ( +/obj/machinery/keycard_auth{ + pixel_x = 24; + pixel_y = 10 + }, +/obj/structure/table/wood, +/obj/item/radio/off, +/obj/item/taperecorder, +/turf/open/floor/mineral/plastitanium/red, +/area/command/heads_quarters/hos) +"aez" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/flashlight/lamp/green{ + on = 0; + pixel_x = -3; + pixel_y = 8 + }, +/obj/item/pen/fountain, +/turf/open/floor/mineral/plastitanium/red, +/area/command/heads_quarters/hos) +"aeA" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"aeB" = ( +/obj/structure/table, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/obj/item/hand_labeler, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"aeC" = ( +/obj/machinery/camera{ + c_tag = "Security Escape Pod"; + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aeD" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/hos, +/obj/effect/turf_decal/delivery, +/turf/open/floor/mineral/plastitanium/red, +/area/command/heads_quarters/hos) +"aeE" = ( +/obj/structure/closet/secure_closet/lethalshots, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"aeF" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/firingpins{ + pixel_x = 6 + }, +/obj/item/storage/box/firingpins{ + pixel_x = -3 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"aeG" = ( +/obj/structure/cable, +/obj/machinery/power/solar{ + id = "auxsolareast"; + name = "Port Auxiliary Solar Array" + }, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solars/starboard/fore) +"aeL" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aeM" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aeO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aeP" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aeQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aeR" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"aeS" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aeT" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aeU" = ( +/obj/effect/landmark/start/security_officer, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"aeV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"aeW" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/chemimp{ + pixel_x = 6 + }, +/obj/item/storage/box/trackimp{ + pixel_x = -3 + }, +/obj/item/storage/lockbox/loyalty, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"aeX" = ( +/turf/closed/wall/r_wall/syndicate, +/area/medical/chemistry) +"aeY" = ( +/obj/vehicle/ridden/secway, +/obj/item/key/security, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"aeZ" = ( +/obj/structure/rack, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/temperature/security, +/obj/item/clothing/suit/armor/laserproof, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"afa" = ( +/obj/docking_port/stationary{ + dir = 4; + dwidth = 12; + height = 18; + id = "emergency_home"; + name = "BoxStation emergency evac bay"; + width = 32 + }, +/turf/open/space/basic, +/area/space) +"afb" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"afc" = ( +/obj/structure/closet/secure_closet/contraband/armory, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 8; + name = "8maintenance loot spawner" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"afd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"afe" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"aff" = ( +/obj/effect/landmark/start/security_officer, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"afg" = ( +/obj/effect/landmark/start/security_officer, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"afh" = ( +/obj/effect/landmark/start/security_officer, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"afi" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/landmark/start/security_officer, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"afj" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"afk" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/landmark/start/security_officer, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"afl" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"afm" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"afn" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/brig) +"afo" = ( +/obj/structure/noticeboard{ + dir = 1; + pixel_y = -27 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"afp" = ( +/obj/docking_port/stationary{ + dir = 4; + dwidth = 1; + height = 4; + name = "escape pod loader"; + roundstart_template = /datum/map_template/shuttle/escape_pod/default; + width = 3 + }, +/turf/open/space/basic, +/area/space) +"afq" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Prison Gate"; + name = "Prison Lockdown Shutters" + }, +/turf/open/floor/plating, +/area/security/brig) +"afr" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/landmark/start/security_officer, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"afs" = ( +/obj/item/storage/secure/safe/HoS{ + pixel_x = 35 + }, +/obj/structure/closet/secure_closet/hos, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/command/heads_quarters/hos) +"afu" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white, +/obj/structure/closet/secure_closet/brig, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"afv" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"afw" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = -32 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"afy" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"afA" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"afB" = ( +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_x = 27 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"afC" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"afD" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/landmark/start/security_officer, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"afE" = ( +/obj/machinery/light/small, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"afF" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/light{ + light_color = "#d1dfff" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"afG" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"afH" = ( +/obj/structure/table/glass, +/obj/item/storage/firstaid/regular{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/firstaid/regular, +/obj/item/reagent_containers/glass/bottle/charcoal{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/reagent_containers/glass/bottle/epinephrine{ + pixel_x = -2; + pixel_y = -2 + }, +/obj/item/reagent_containers/syringe{ + name = "steel point" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"afI" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"afK" = ( +/obj/structure/table/glass, +/obj/machinery/computer/med_data/laptop, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"afL" = ( +/obj/machinery/computer/operating, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"afM" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"afN" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"afO" = ( +/obj/machinery/door/airlock/command{ + name = "Command Tool Storage"; + req_access_txt = "19" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"afP" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/command{ + name = "Command Tool Storage"; + req_access_txt = "19" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"afQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/securearea{ + pixel_x = -32 + }, +/turf/open/floor/plating, +/area/security/office) +"afR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/office) +"afS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + name = "Brig EVA Storage"; + req_access_txt = "1" + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"afT" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"afU" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"afV" = ( +/obj/structure/table, +/obj/item/restraints/handcuffs, +/obj/item/assembly/timer, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"afW" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"afX" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/start/head_of_security, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"afY" = ( +/obj/effect/landmark/start/security_officer, +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"afZ" = ( +/obj/structure/table, +/obj/item/radio/off, +/obj/item/screwdriver{ + pixel_y = 10 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"aga" = ( +/obj/structure/sign/warning/pods{ + pixel_x = 32 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"agb" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"agc" = ( +/obj/structure/closet/emcloset, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"agd" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"age" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/security/range) +"agf" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/item/clothing/gloves/color/orange, +/obj/item/restraints/handcuffs, +/obj/item/reagent_containers/spray/pepper, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"agg" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/item/clothing/suit/straight_jacket, +/obj/item/electropack/shockcollar, +/obj/item/assembly/signaler, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"agh" = ( +/obj/structure/table, +/obj/item/storage/box/hug, +/obj/item/razor{ + pixel_x = -6 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/light{ + light_color = "#d1dfff" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"agi" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Prison Wing"; + req_access_txt = "2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"agk" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Prison Wing"; + req_access_txt = "2" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"agl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/chair/sofa/right{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"agm" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/table, +/obj/item/stack/sheet/plasteel{ + amount = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"ago" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/bot, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"agp" = ( +/obj/structure/table, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"agq" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/shutters/window{ + id = "armory1" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"agr" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/security/processing) +"ags" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"agt" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/ai_monitored/security/armory) +"agu" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"agv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/security/processing) +"agw" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + id = "hos"; + name = "HoS Office Shutters"; + pixel_y = -25 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/command/heads_quarters/hos) +"agx" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"agy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"agz" = ( +/obj/structure/closet/secure_closet{ + name = "nonlethal ammunition"; + req_access = "list(3)" + }, +/obj/item/storage/box/rubbershot, +/obj/item/storage/box/rubbershot, +/obj/item/storage/box/rubbershot, +/obj/item/storage/box/rubbershot, +/obj/item/storage/box/rubbershot, +/obj/item/storage/box/rubbershot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"agA" = ( +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + pixel_y = 30 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"agB" = ( +/obj/structure/table, +/obj/item/assembly/flash/handheld, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"agC" = ( +/obj/machinery/holopad, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"agD" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"agE" = ( +/obj/structure/table, +/obj/item/storage/fancy/donut_box{ + pixel_y = 10 + }, +/obj/item/storage/fancy/donut_box, +/obj/item/storage/fancy/donut_box{ + pixel_y = -10 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"agF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"agG" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"agH" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"agI" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"agJ" = ( +/obj/machinery/flasher/portable, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"agK" = ( +/obj/machinery/flasher/portable, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"agL" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"agM" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/power/apc{ + areastring = "/area/security/brig"; + dir = 1; + name = "Brig APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"agN" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"agO" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Brig Infirmary"; + req_access_txt = "2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Prison Gate"; + name = "Prison Lockdown Shutters" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"agP" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"agQ" = ( +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/obj/structure/closet/secure_closet/courtroom, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/sign/warning/securearea{ + pixel_x = -32 + }, +/obj/item/gavelhammer, +/obj/machinery/atmospherics/pipe/simple/scrubbers, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"agR" = ( +/obj/effect/turf_decal/loading_area{ + dir = 4; + pixel_x = -3 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"agS" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"agT" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"agU" = ( +/obj/machinery/holopad/secure, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"agV" = ( +/obj/machinery/button/door{ + id = "armory1"; + name = "Armory Shutters"; + pixel_y = -26; + req_access_txt = "3" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/shutters/window{ + id = "armory1" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"agW" = ( +/obj/structure/rack, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/item/storage/box/handcuffs{ + pixel_x = -1; + pixel_y = 1 + }, +/obj/item/storage/box/handcuffs{ + pixel_x = 1; + pixel_y = -1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/camera/motion{ + c_tag = "Armory Motion Sensor"; + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"agX" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/shutters/window{ + id = "armory2" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"agY" = ( +/obj/structure/table/glass, +/obj/item/storage/box/bodybags, +/obj/item/reagent_containers/blood, +/obj/item/reagent_containers/spray/cleaner, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aha" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ahb" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"ahc" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ahd" = ( +/obj/structure/table, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ahe" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 4; + sortType = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ahf" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ahg" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/landmark/start/security_officer, +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ahh" = ( +/obj/item/paper_bin/bundlenatural{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/paper_bin{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/pen/fountain, +/obj/item/folder/red, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/item/pen, +/obj/structure/table, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ahi" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 4; + sortType = 7 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ahj" = ( +/obj/machinery/door/window/eastright{ + base_state = "left"; + dir = 8; + icon_state = "left"; + name = "Security Delivery"; + req_access_txt = "1" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/security/office) +"ahk" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"ahl" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + dir = 8; + freq = 1400; + location = "Security" + }, +/obj/structure/plasticflaps/opaque, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/security/office) +"ahm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"ahn" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/fore/secondary) +"aho" = ( +/obj/effect/turf_decal/tile/red, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"ahp" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"ahq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/rack, +/obj/item/storage/box/prisoner, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/processing) +"ahr" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/processing) +"ahs" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/obj/effect/landmark/start/assistant, +/obj/structure/chair/sofa/right, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"ahu" = ( +/obj/structure/table/optable, +/obj/item/storage/backpack/duffelbag/sec/surgery, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"ahv" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Prison Gate"; + name = "Prison Lockdown Shutters" + }, +/turf/open/floor/plating, +/area/security/brig) +"ahw" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Prison Gate"; + name = "Prison Lockdown Shutters" + }, +/turf/open/floor/plating, +/area/security/brig) +"ahx" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/security/brig) +"ahy" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"ahz" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"ahA" = ( +/obj/structure/rack, +/obj/structure/window/reinforced, +/obj/item/storage/box/teargas{ + pixel_x = -1; + pixel_y = 1 + }, +/obj/item/storage/box/flashbangs{ + pixel_x = 1; + pixel_y = -1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/item/radio/intercom{ + pixel_x = -30 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"ahB" = ( +/obj/structure/rack, +/obj/item/gun/energy/e_gun/dragnet{ + pixel_x = 2; + pixel_y = -2 + }, +/obj/item/gun/energy/e_gun/dragnet{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"ahC" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/structure/closet/wardrobe/white, +/obj/item/clothing/under/suit/waiter, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"ahD" = ( +/obj/structure/chair, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/processing) +"ahF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ahG" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/window/westright{ + name = "Brig Operations"; + req_one_access_txt = "4; 1" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"ahH" = ( +/obj/structure/disposalpipe/junction/yjunction{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ahI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ahJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ahK" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"ahL" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ahM" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ahN" = ( +/obj/machinery/power/apc{ + areastring = "/area/security/office"; + dir = 4; + name = "Security Office APC"; + pixel_x = 24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ahO" = ( +/obj/structure/chair/sofa/left{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"ahP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/closet/wardrobe/mixed, +/obj/item/clothing/under/costume/kilt, +/obj/structure/sign/poster/official/fashion{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"ahQ" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"ahR" = ( +/obj/structure/rack, +/obj/item/gun/energy/laser{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"ahS" = ( +/obj/structure/bodycontainer/morgue, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/obj/machinery/camera{ + c_tag = "Brig Infirmary"; + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"ahT" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"ahU" = ( +/obj/machinery/computer/shuttle/labor{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/processing) +"ahV" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/machinery/computer/security/labor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/processing) +"ahW" = ( +/obj/structure/rack, +/obj/item/clothing/suit/armor/riot{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/clothing/suit/armor/riot, +/obj/item/clothing/suit/armor/riot{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/clothing/head/helmet/riot{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/clothing/head/helmet/riot, +/obj/item/clothing/head/helmet/riot{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/shield/riot{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/shield/riot, +/obj/item/shield/riot{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"ahX" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"ahY" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/mob/living/simple_animal/bot/secbot{ + arrest_type = 1; + health = 45; + icon_state = "secbot1"; + idcheck = 1; + name = "Sergeant-at-Armsky"; + weaponscheck = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"ahZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aia" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/closet/secure_closet/hydroponics, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aib" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aic" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aid" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aie" = ( +/obj/structure/bed, +/obj/machinery/iv_drip, +/obj/item/bedsheet/medical, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aif" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aig" = ( +/obj/structure/table, +/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/item/storage/toolbox/electrical{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/storage/toolbox/drone{ + pixel_x = 2; + pixel_y = -2 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aih" = ( +/obj/machinery/button/door{ + id = "armory2"; + name = "Armory Shutters"; + pixel_y = -26; + req_access_txt = "3" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/shutters/window{ + id = "armory2" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"aii" = ( +/obj/machinery/rnd/production/techfab/department/security, +/obj/effect/turf_decal/delivery, +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aij" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/security/brig) +"aik" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/table, +/obj/item/gun/energy/laser/practice, +/obj/machinery/syndicatebomb/training, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"aim" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/security/brig) +"ain" = ( +/obj/structure/rack, +/obj/item/clothing/suit/armor/bulletproof{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/clothing/suit/armor/bulletproof, +/obj/item/clothing/suit/armor/bulletproof{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/clothing/head/helmet/alt{ + layer = 3.00001; + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/clothing/head/helmet/alt{ + layer = 3.00001 + }, +/obj/item/clothing/head/helmet/alt{ + layer = 3.00001; + pixel_x = 3; + pixel_y = -3 + }, +/obj/structure/window/reinforced, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"aio" = ( +/obj/structure/table, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/rglass{ + amount = 50 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aip" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"aiq" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"air" = ( +/obj/structure/chair, +/turf/open/floor/plating, +/area/commons/vacant_room/office/b) +"ais" = ( +/obj/structure/filingcabinet, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 5; + pixel_y = -32 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ait" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"aiu" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"aiv" = ( +/obj/structure/rack, +/obj/item/gun/energy/e_gun/advtaser{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/gun/energy/e_gun/advtaser, +/obj/item/gun/energy/e_gun/advtaser{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/structure/window/reinforced, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"aiw" = ( +/obj/machinery/light_switch{ + pixel_y = -23 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/chair/sofa/left{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"aix" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"aiy" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aiz" = ( +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/chair/sofa{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"aiA" = ( +/obj/machinery/door/airlock/external{ + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aiB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/vending/autodrobe, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aiC" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/landmark/start/security_officer, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"aiD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"aiE" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/radio/intercom{ + pixel_y = 20 + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"aiF" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/gulag_item_reclaimer{ + pixel_x = 32 + }, +/obj/machinery/light{ + dir = 1; + light_color = "#d1dfff" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/camera{ + c_tag = "Security Docking"; + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"aiG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aiH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Brig Central"; + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aiI" = ( +/obj/structure/bodycontainer/morgue, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aiJ" = ( +/obj/structure/reagent_dispensers/watertank/high, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aiK" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"aiL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aiM" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aiN" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"aiO" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/structure/mirror{ + pixel_x = 28 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aiP" = ( +/obj/structure/table, +/obj/item/storage/firstaid/regular, +/obj/structure/sign/poster/official/medical_green_cross{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"aiQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/security/brig) +"aiR" = ( +/obj/structure/closet/l3closet/security, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aiS" = ( +/obj/item/stack/rods, +/turf/open/space, +/area/space/nearstation) +"aiT" = ( +/turf/closed/wall/r_wall/syndicate, +/area/security/processing) +"aiU" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/processing) +"aiV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/holopad, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hopqueue"; + name = "HoP Queue Shutters" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aiW" = ( +/obj/structure/closet/bombcloset/security, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aiX" = ( +/turf/closed/wall/r_wall/syndicate, +/area/security/brig) +"aiY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"aiZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ai_monitored/security/armory) +"aja" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/poddoor/shutters/window{ + id = "armory3" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"ajb" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/shutters/window{ + id = "armory3" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/security/armory) +"ajc" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"ajd" = ( +/obj/structure/table/wood, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office/b) +"aje" = ( +/obj/machinery/door/airlock/security{ + name = "Armory"; + req_access_txt = "3" + }, +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"ajf" = ( +/obj/structure/table/wood, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/commons/vacant_room/office/b) +"ajg" = ( +/obj/machinery/computer/secure_data, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"ajh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/structure/sign/poster/official/pda_ad800{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aji" = ( +/obj/structure/chair{ + name = "Judge" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ajj" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = 20 + }, +/obj/machinery/camera{ + c_tag = "Courtroom North" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ajk" = ( +/obj/structure/chair{ + name = "Judge" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ajl" = ( +/obj/structure/chair{ + name = "Judge" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ajm" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ajo" = ( +/turf/closed/wall/r_wall/syndicate, +/area/security/courtroom) +"ajp" = ( +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ajq" = ( +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance"; + req_access_txt = "10; 13" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plating, +/area/maintenance/solars/port/fore) +"ajr" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/light, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/commons/vacant_room/office/b) +"ajs" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/sign/poster/official/pda_ad600{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"ajt" = ( +/obj/machinery/camera{ + c_tag = "Vacant Office B"; + dir = 1 + }, +/obj/structure/table/wood, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plasteel, +/area/commons/vacant_room/office/b) +"aju" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ajv" = ( +/obj/machinery/computer/med_data{ + dir = 4 + }, +/obj/structure/sign/poster/official/medical_green_cross{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"ajw" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"ajx" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"ajy" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"ajz" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/security/brig) +"ajA" = ( +/obj/effect/landmark/start/security_officer, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ajB" = ( +/obj/structure/sign/poster/official/medical_green_cross{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"ajC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"ajD" = ( +/obj/effect/spawner/lootdrop/keg, +/obj/structure/sign/poster/contraband/scum{ + pixel_x = -32 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"ajE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ajF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"ajG" = ( +/obj/structure/table, +/obj/item/kitchen/rollingpin, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/condiment/sugar, +/obj/structure/sign/poster/contraband/scum{ + pixel_x = -32 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"ajH" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ajI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"ajJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"ajK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"ajL" = ( +/obj/machinery/computer/security, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"ajM" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/obj/structure/sign/poster/contraband/scum{ + pixel_y = 32 + }, +/obj/structure/sign/poster/contraband/scum{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ajN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"ajO" = ( +/obj/structure/table/wood, +/obj/item/radio/intercom{ + dir = 8; + name = "Station Intercom (Court)" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ajP" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ajQ" = ( +/obj/structure/table/wood, +/obj/item/book/manual/wiki/security_space_law, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ajR" = ( +/obj/structure/table/wood, +/obj/item/gavelblock, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ajS" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ajT" = ( +/obj/structure/chair{ + dir = 8; + name = "Defense" + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ajU" = ( +/obj/machinery/door/window/southleft{ + name = "Court Cell"; + req_access_txt = "2" + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ajV" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/solars/port/fore) +"ajX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = -30 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"ajY" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/window/westleft{ + name = "Brig Operations"; + req_one_access_txt = "4; 1" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"ajZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/construction/mining/aux_base) +"aka" = ( +/obj/structure/closet/secure_closet/bar{ + req_access_txt = "25" + }, +/obj/item/clothing/under/suit/waiter, +/obj/item/clothing/under/suit/waiter, +/obj/item/clothing/under/suit/waiter, +/obj/item/gun/ballistic/revolver/doublebarrel, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/turf/open/floor/carpet/black, +/area/service/bar) +"akb" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/processing) +"akc" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"akd" = ( +/obj/effect/landmark/start/security_officer, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"ake" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/closed/wall/r_wall/syndicate, +/area/security/brig) +"akg" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akh" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/table, +/obj/item/storage/fancy/donut_box, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"aki" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"akj" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akk" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + name = "Security Office"; + req_access_txt = "1" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"akl" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akm" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akn" = ( +/obj/structure/table/wood, +/obj/item/folder/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ako" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akp" = ( +/obj/machinery/door_timer{ + id = "Cell 1"; + name = "Cell 1"; + pixel_y = -32 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Brig West"; + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akq" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/structure/disposalpipe/segment, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/computer/security/telescreen/interrogation{ + dir = 1; + pixel_y = -32 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aks" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"akt" = ( +/obj/machinery/chem_master/condimaster{ + name = "HoochMaster 2000" + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"aku" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"akx" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aky" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"akz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akA" = ( +/obj/structure/chair{ + dir = 8; + name = "Defense" + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"akB" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/fore) +"akC" = ( +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akD" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akE" = ( +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"akF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akG" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/processing) +"akH" = ( +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"akI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/processing) +"akJ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + name = "Brig"; + req_access_txt = "63; 42" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akK" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/engine, +/area/science/xenobiology) +"akL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/meter, +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/maintenance/fore) +"akM" = ( +/obj/machinery/light, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akO" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 6 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"akP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/engine, +/area/science/xenobiology) +"akR" = ( +/obj/machinery/camera{ + c_tag = "Security Office"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/table, +/obj/item/storage/box/donkpockets, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"akS" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -29 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/table, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"akT" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akU" = ( +/obj/machinery/holopad, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akV" = ( +/obj/machinery/door/window/southleft{ + dir = 1; + name = "Test Chamber"; + req_access_txt = "55" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "misclab"; + name = "test chamber blast door" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/engine, +/area/science/xenobiology) +"akW" = ( +/obj/machinery/door/window/southleft{ + name = "Test Chamber"; + req_access_txt = "55" + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"akX" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"akY" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/security/warden) +"akZ" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Brig Control"; + req_access_txt = "3" + }, +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"ala" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/security/warden) +"alb" = ( +/obj/structure/chair{ + dir = 4; + name = "Prosecution" + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"alc" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ald" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ale" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"alf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"alg" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"alh" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance"; + req_access_txt = "10; 13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/fore) +"ali" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"alj" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"alk" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"all" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"alm" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"aln" = ( +/obj/effect/landmark/start/scientist, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/chair/comfy/black, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"alo" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/security/warden) +"alp" = ( +/turf/open/floor/plating, +/area/security/processing) +"alq" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Evidence Storage"; + req_one_access_txt = "4;1" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"alr" = ( +/obj/machinery/computer/camera_advanced/xenobio{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"als" = ( +/obj/machinery/door_timer{ + id = "Cell 3"; + name = "Cell 3"; + pixel_y = -32 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"alt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"alu" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/window{ + name = "Gateway Chamber"; + req_access_txt = "62" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"alv" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "Secure Gate"; + name = "brig shutters" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/security/brig) +"alw" = ( +/obj/machinery/door/airlock/security/glass{ + id_tag = "innerbrig"; + name = "Brig"; + req_access_txt = "63" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"alx" = ( +/obj/structure/table/glass, +/obj/item/paper_bin{ + pixel_y = 4 + }, +/obj/item/folder/white{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"aly" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"alz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"alA" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"alB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"alC" = ( +/obj/effect/turf_decal/tile/red, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"alD" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/security/courtroom) +"alE" = ( +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + pixel_x = -30 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/computer/security{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24; + pixel_y = 28 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"alF" = ( +/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"alG" = ( +/obj/structure/chair{ + dir = 4; + name = "Prosecution" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"alH" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"alI" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"alJ" = ( +/obj/item/beacon, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"alK" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"alL" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/power/apc{ + areastring = "/area/security/courtroom"; + dir = 8; + name = "Courtroom APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"alM" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"alN" = ( +/obj/machinery/computer/prisoner/management, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"alO" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"alP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/aft) +"alQ" = ( +/obj/machinery/power/solar_control{ + id = "auxsolareast"; + name = "Port Bow Solar Control" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/fore) +"alR" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/solars/port/fore) +"alS" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_x = 32 + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/fore) +"alT" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/fore) +"alU" = ( +/turf/closed/wall, +/area/maintenance/port/fore) +"alV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"alW" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"alX" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"alY" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/machinery/computer/secure_data, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"alZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/security/brig) +"ama" = ( +/mob/living/simple_animal/sloth/paperwork, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"amb" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/security/warden) +"amc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"amd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"ame" = ( +/obj/structure/extinguisher_cabinet{ + pixel_y = -30 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"amf" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"amg" = ( +/obj/structure/closet{ + name = "Evidence Closet" + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"amh" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"ami" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"amj" = ( +/obj/machinery/door_timer{ + id = "Cell 2"; + name = "Cell 2"; + pixel_y = -32 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"amk" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aml" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"amm" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/security/brig) +"amn" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "Cell Interior Shutters"; + name = "brig shutters" + }, +/turf/open/floor/plating, +/area/security/brig) +"amo" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"amp" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"amq" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"amr" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/courtroom) +"ams" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/courtroom) +"amt" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Courtroom"; + req_access_txt = "42" + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"amu" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"amw" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) +"amx" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/security/brig) +"amy" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/fore) +"amz" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/terminal, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/fore) +"amA" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/fore) +"amB" = ( +/obj/machinery/door/poddoor/preopen{ + id = "Cell Interior Shutters"; + name = "brig shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/security/brig) +"amC" = ( +/turf/open/floor/plating, +/area/maintenance/port/fore) +"amF" = ( +/obj/machinery/atmospherics/components/unary/tank/air, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"amG" = ( +/obj/machinery/door/window/northleft{ + base_state = "right"; + dir = 8; + icon_state = "right"; + name = "Containment Pen"; + req_access_txt = "55" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio3"; + name = "containment blast door" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"amH" = ( +/obj/machinery/door/window/northleft{ + dir = 4; + name = "Containment Pen"; + req_access_txt = "55" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"amI" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"amJ" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"amK" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall/r_wall/syndicate, +/area/security/processing) +"amL" = ( +/turf/open/floor/plasteel/dark, +/area/security/brig) +"amM" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/security{ + name = "Labor Shuttle"; + req_access_txt = "2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/mineral/plastitanium/red, +/area/security/processing) +"amN" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/machinery/door/window/brigdoor{ + dir = 4; + name = "Reception Desk"; + req_access_txt = "3" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + id = "Secure Brig Control"; + name = "brig shutters" + }, +/obj/machinery/door/window/southright{ + dir = 8; + name = "Reception Desk"; + req_access_txt = "63" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"amO" = ( +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"amP" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"amQ" = ( +/obj/machinery/door/window/northleft{ + base_state = "right"; + dir = 8; + icon_state = "right"; + name = "Containment Pen"; + req_access_txt = "55" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"amS" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"amT" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/window/northleft{ + dir = 4; + name = "Containment Pen"; + req_access_txt = "55" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio8"; + name = "containment blast door" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"amU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/chair/office/dark{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"amV" = ( +/obj/machinery/holopad, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"amW" = ( +/obj/effect/landmark/start/warden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"amX" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"amY" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"amZ" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"ana" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"anb" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"anc" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"and" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"ane" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) +"anf" = ( +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"ang" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc{ + areastring = "/area/maintenance/solars/port/fore"; + dir = 8; + name = "Port Bow Solar APC"; + pixel_x = -25; + pixel_y = 3 + }, +/obj/machinery/camera{ + c_tag = "Fore Port Solar Control"; + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/fore) +"anh" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/smes, +/turf/open/floor/plating, +/area/maintenance/solars/port/fore) +"ani" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/fore) +"ank" = ( +/obj/machinery/door/airlock/maintenance/abandoned{ + req_access_txt = "12" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"ann" = ( +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"ano" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"anp" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"anq" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"anr" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall/r_wall/syndicate, +/area/security/warden) +"ans" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"ant" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + name = "Evidence Storage"; + req_access_txt = "3" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"anu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"anv" = ( +/obj/structure/closet{ + name = "Evidence Closet" + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"anw" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"anx" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"any" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"anz" = ( +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"anA" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"anB" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/closet/secure_closet/brig{ + id = "Cell 2"; + name = "Cell 2 Locker" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"anC" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/security/courtroom) +"anD" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"anE" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"anF" = ( +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"anG" = ( +/obj/machinery/power/apc{ + areastring = "/area/commons/fitness/pool"; + name = "Pool APC"; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"anH" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/solars/port/fore) +"anI" = ( +/obj/machinery/door/airlock/engineering{ + name = "Port Bow Solar Access"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/fore) +"anJ" = ( +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"anK" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"anM" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/item/radio/intercom{ + desc = "Talk through this. It looks like it has been modified to not broadcast."; + name = "Prison Intercom (General)"; + pixel_x = -27; + pixel_y = -27; + prison_radio = 1 + }, +/obj/machinery/flasher{ + id = "Cell 2"; + pixel_x = -24; + pixel_y = -36 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/bed, +/obj/item/bedsheet/blue, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"anN" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"anO" = ( +/obj/docking_port/stationary{ + dir = 8; + dwidth = 2; + height = 5; + id = "laborcamp_home"; + name = "fore bay 1"; + roundstart_template = /datum/map_template/shuttle/labour/box; + width = 9 + }, +/turf/open/space/basic, +/area/space) +"anP" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/security/brig) +"anQ" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"anR" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"anS" = ( +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"anT" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"anU" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Courtroom" + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"anV" = ( +/obj/machinery/light/small, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"anW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"anX" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 5; + pixel_y = -32 + }, +/obj/machinery/camera{ + c_tag = "Courtroom South"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"anY" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"anZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aoa" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aob" = ( +/obj/machinery/light_switch{ + pixel_x = -20 + }, +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/turf/open/floor/wood, +/area/service/lawoffice) +"aoc" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/turf/open/floor/wood, +/area/service/lawoffice) +"aod" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/fore/secondary) +"aoe" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/fore/secondary) +"aof" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/solars/starboard/fore) +"aog" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) +"aoh" = ( +/obj/machinery/power/solar_control{ + id = "auxsolareast"; + name = "Starboard Bow Solar Control" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) +"aoi" = ( +/obj/structure/rack, +/obj/item/clothing/mask/gas, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/obj/item/multitool, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) +"aoj" = ( +/obj/machinery/camera{ + c_tag = "Fore Port Solar Access" + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aok" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aol" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aom" = ( +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aon" = ( +/obj/structure/chair, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"aoo" = ( +/obj/structure/sign/poster/contraband/revolver, +/turf/closed/wall/r_wall/syndicate, +/area/service/kitchen) +"aop" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/mob/living/simple_animal/slime, +/turf/open/floor/engine, +/area/science/xenobiology) +"aoq" = ( +/obj/machinery/door/window/northleft{ + base_state = "right"; + dir = 8; + icon_state = "right"; + name = "Containment Pen"; + req_access_txt = "55" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio2"; + name = "containment blast door" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"aor" = ( +/obj/structure/table, +/obj/item/restraints/handcuffs, +/obj/item/taperecorder, +/obj/item/folder/red, +/obj/machinery/light_switch{ + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"aos" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/window/northleft{ + dir = 4; + name = "Containment Pen"; + req_access_txt = "55" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio7"; + name = "containment blast door" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"aot" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aou" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/preopen{ + id = "Secure Gate"; + name = "brig shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/security/brig) +"aov" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aow" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aox" = ( +/obj/machinery/camera{ + c_tag = "Fore Primary Hallway West"; + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aoy" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=EVA"; + location = "Security" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aoz" = ( +/obj/effect/turf_decal/tile/red, +/obj/structure/sign/departments/security{ + pixel_x = 32; + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aoA" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -29 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/red, +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aoB" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aoC" = ( +/obj/effect/turf_decal/tile/red, +/obj/item/storage/box/drinkingglasses, +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aoD" = ( +/obj/machinery/camera{ + c_tag = "Fore Primary Hallway East"; + dir = 1 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 5; + pixel_y = -32 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/reagent_dispensers/water_cooler, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aoE" = ( +/obj/effect/turf_decal/tile/red, +/obj/item/storage/box/cups, +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aoF" = ( +/obj/effect/turf_decal/tile/red, +/obj/machinery/chem_dispenser/drinks, +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aoG" = ( +/obj/structure/table, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"aoH" = ( +/obj/structure/table, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = -3; + pixel_y = 5 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"aoI" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aoJ" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aoK" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aoL" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "Air Out" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aoM" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) +"aoN" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) +"aoO" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/terminal, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) +"aoP" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aoQ" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aoR" = ( +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 10 + }, +/obj/machinery/meter, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aoS" = ( +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aoT" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aoU" = ( +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aoV" = ( +/turf/open/space, +/area/space) +"aoW" = ( +/obj/structure/grille, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aoX" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aoY" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26; + pixel_y = -28 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"aoZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "Secure Brig Control"; + name = "brig shutters" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/security/warden) +"apa" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"apb" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/mob/living/simple_animal/slime, +/turf/open/floor/engine, +/area/science/xenobiology) +"apc" = ( +/obj/structure/chair/office/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"apd" = ( +/turf/closed/wall/r_wall/syndicate, +/area/security/detectives_office) +"ape" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/abandoned{ + abandoned = 0; + name = "Vacant Office B"; + req_access_txt = "32" + }, +/turf/open/floor/plating, +/area/commons/vacant_room/office/b) +"apf" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall/r_wall/syndicate, +/area/security/detectives_office) +"apg" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/fore) +"aph" = ( +/turf/closed/wall/r_wall/syndicate, +/area/service/lawoffice) +"api" = ( +/obj/machinery/door/airlock{ + name = "Law Office"; + req_access_txt = "38" + }, +/turf/open/floor/plasteel/dark, +/area/service/lawoffice) +"apj" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"apk" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"apl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/fore/secondary) +"apm" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"apn" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/fore/secondary) +"apo" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/fore/secondary) +"app" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"apq" = ( +/obj/machinery/space_heater, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"apr" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc{ + areastring = "/area/maintenance/fore/secondary"; + dir = 1; + name = "Fore Maintenance APC"; + pixel_y = 23 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aps" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"apt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"apu" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"apv" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/machinery/recharger{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"apw" = ( +/obj/machinery/door/window/northleft{ + base_state = "right"; + dir = 8; + icon_state = "right"; + name = "Containment Pen"; + req_access_txt = "55" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio1"; + name = "containment blast door" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"apx" = ( +/obj/machinery/door/airlock/atmos/abandoned{ + name = "Atmospherics Maintenance"; + req_access_txt = "12;24" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"apy" = ( +/obj/item/wrench, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"apz" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) +"apA" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc{ + areastring = "/area/maintenance/solars/starboard/fore"; + dir = 8; + name = "Starboard Bow Solar APC"; + pixel_x = -25; + pixel_y = 3 + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) +"apB" = ( +/obj/machinery/camera{ + c_tag = "Fore Starboard Solars"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/smes, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) +"apC" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard/fore) +"apD" = ( +/obj/structure/closet/wardrobe/mixed, +/obj/item/clothing/shoes/jackboots, +/obj/item/coin/silver, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"apE" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"apF" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 5 + }, +/turf/open/floor/plating, +/area/engineering/atmos) +"apG" = ( +/obj/machinery/portable_atmospherics/canister/water_vapor, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"apH" = ( +/obj/machinery/computer/crew{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "outerbrig"; + name = "Brig Exterior Doors Control"; + normaldoorcontrol = 1; + pixel_x = -24; + pixel_y = -40; + req_access_txt = "2" + }, +/obj/machinery/button/door{ + id = "innerbrig"; + name = "Brig Interior Doors Control"; + normaldoorcontrol = 1; + pixel_x = -24; + pixel_y = -24; + req_access_txt = "2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"apI" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/closet/secure_closet/medical1, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"apJ" = ( +/turf/closed/wall/r_wall/syndicate, +/area/construction/mining/aux_base) +"apK" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"apL" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/port/fore"; + dir = 1; + name = "Port Bow Maintenance APC"; + pixel_x = -1; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"apM" = ( +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/fore) +"apN" = ( +/turf/open/floor/plating, +/area/construction/mining/aux_base) +"apO" = ( +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/fore) +"apP" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"apQ" = ( +/obj/structure/closet{ + name = "Evidence Closet" + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"apR" = ( +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Brig"; + req_access_txt = "63" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"apS" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"apT" = ( +/obj/machinery/door/poddoor/preopen{ + id = "Cell Interior Shutters"; + name = "brig shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/security/brig) +"apU" = ( +/turf/open/floor/plating, +/area/commons/vacant_room/office/b) +"apV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/construction) +"apW" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"apY" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"apZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/wood, +/area/service/lawoffice) +"aqa" = ( +/obj/structure/closet/secure_closet/personal, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"aqb" = ( +/obj/structure/rack, +/obj/item/storage/briefcase, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/wood, +/area/service/lawoffice) +"aqc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/fore/secondary) +"aqd" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aqe" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aqf" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aqg" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aqh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aqi" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aqj" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aqk" = ( +/obj/machinery/power/apc{ + areastring = "/area/commons/dorms"; + name = "Dormitory APC"; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aql" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aqm" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aqn" = ( +/obj/structure/bed, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/machinery/button/door{ + id = "Dorm4"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 25; + specialfunctions = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/spawner/lootdrop/bedsheet, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"aqo" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"aqp" = ( +/obj/structure/rack, +/obj/item/clothing/suit/fire/firefighter, +/obj/item/tank/internals/oxygen, +/obj/item/clothing/mask/gas, +/obj/item/extinguisher, +/obj/item/clothing/head/hardhat/red, +/obj/item/clothing/glasses/meson, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aqq" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"aqr" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/brigdoor{ + dir = 1; + name = "Reception Desk"; + req_access_txt = "3" + }, +/obj/machinery/door/window/southleft{ + name = "Reception Desk"; + req_access_txt = "63" + }, +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "Secure Brig Control"; + name = "brig shutters" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/security/warden) +"aqs" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Pool" + }, +/turf/open/floor/plasteel, +/area/commons/fitness/pool) +"aqt" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "Secure Brig Control"; + name = "brig shutters" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/security/warden) +"aqu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "holoprivacy"; + name = "Holodeck Shutters" + }, +/turf/open/floor/plating, +/area/commons/fitness) +"aqv" = ( +/obj/machinery/door/airlock/external{ + name = "External Access"; + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aqw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/engineering{ + name = "Starboard Bow Solar Access"; + req_access_txt = "10" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) +"aqx" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/solars/starboard/fore) +"aqy" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aqz" = ( +/obj/structure/table, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aqA" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aqB" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/window/northleft{ + dir = 4; + name = "Containment Pen"; + req_access_txt = "55" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio6"; + name = "containment blast door" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"aqC" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aqD" = ( +/obj/structure/sign/warning/electricshock{ + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1; + light_color = "#d1dfff" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aqE" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aqF" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aqG" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"aqH" = ( +/obj/machinery/light{ + dir = 1; + light_color = "#d1dfff" + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aqI" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"aqN" = ( +/obj/structure/closet/secure_closet/warden, +/obj/structure/sign/poster/official/ion_rifle{ + pixel_y = 32 + }, +/obj/structure/sign/poster/official/twelve_gauge{ + pixel_x = 32 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/item/radio/intercom{ + pixel_x = 32; + pixel_y = 20 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"aqO" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aqP" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aqQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/fore) +"aqR" = ( +/turf/open/floor/plating, +/area/maintenance/fore) +"aqS" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"aqT" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/maintenance{ + name = "Security Maintenance"; + req_access_txt = "1" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"aqU" = ( +/obj/item/paper/fluff/jobs/security/beepsky_mom, +/turf/open/floor/plating, +/area/maintenance/fore) +"aqV" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/turf/open/floor/plating, +/area/commons/vacant_room/office/b) +"aqW" = ( +/turf/open/floor/carpet/black, +/area/security/detectives_office) +"aqX" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/structure/chair, +/turf/open/floor/plating, +/area/commons/vacant_room/office/b) +"aqY" = ( +/obj/structure/table/wood, +/obj/item/pen, +/turf/open/floor/plating, +/area/commons/vacant_room/office/b) +"aqZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/fore) +"ara" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/requests_console{ + department = "Law office"; + pixel_x = -32 + }, +/obj/machinery/vending/wardrobe/law_wardrobe, +/turf/open/floor/wood, +/area/service/lawoffice) +"arb" = ( +/obj/structure/table/wood, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/pen/red, +/turf/open/floor/wood, +/area/service/lawoffice) +"arc" = ( +/obj/structure/plasticflaps, +/turf/open/floor/plating, +/area/maintenance/fore) +"ard" = ( +/obj/machinery/door/poddoor/preopen{ + id = "lawyer_blast"; + name = "privacy door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/service/lawoffice) +"are" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = 1; + pixel_y = 5 + }, +/turf/open/floor/wood, +/area/service/lawoffice) +"arf" = ( +/turf/closed/wall, +/area/commons/dorms) +"arg" = ( +/obj/item/bedsheet/red, +/mob/living/simple_animal/bot/secbot/beepsky{ + name = "Officer Beepsky" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"arh" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Dormitories Maintenance"; + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"ari" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/structure/table/wood, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"arj" = ( +/turf/closed/wall/r_wall/syndicate, +/area/commons/fitness) +"ark" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"arl" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/potato{ + name = "\improper Beepsky's emergency battery" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"arm" = ( +/obj/machinery/light/small{ + dir = 1; + light_color = "#ffc1c1" + }, +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"arn" = ( +/obj/machinery/power/apc{ + areastring = "/area/security/processing"; + dir = 8; + name = "Labor Shuttle Dock APC"; + pixel_x = -25 + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"aro" = ( +/turf/open/floor/engine{ + name = "Holodeck Projector Floor" + }, +/area/holodeck/rec_center) +"arp" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"arq" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 8; + name = "8maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"arr" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"ars" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"art" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Fore Starboard Solar Access" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aru" = ( +/obj/structure/chair/stool, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"arv" = ( +/obj/structure/table, +/obj/item/pen, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"arw" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"arx" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"ary" = ( +/obj/machinery/power/apc{ + areastring = "/area/security/warden"; + name = "Brig Control APC"; + pixel_y = -24 + }, +/obj/machinery/button/door{ + id = "Secure Gate"; + name = "Cell Shutters"; + pixel_x = 6; + pixel_y = -40; + req_access_txt = "2" + }, +/obj/machinery/button/door{ + id = "Prison Gate"; + name = "Prison Wing Lockdown"; + pixel_x = -6; + pixel_y = -40; + req_access_txt = "2" + }, +/obj/structure/filingcabinet/chestdrawer, +/obj/machinery/light, +/obj/structure/cable, +/obj/machinery/camera{ + c_tag = "Brig Control"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"arz" = ( +/obj/item/coin/gold, +/obj/item/coin/iron, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"arA" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance, +/obj/item/coin/plasma, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"arB" = ( +/turf/closed/wall/r_wall/syndicate, +/area/hallway/secondary/entry) +"arC" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"arD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/closet/secure_closet/brig{ + id = "Cell 3"; + name = "Cell 3 Locker" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"arE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"arH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/fore) +"arI" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"arJ" = ( +/obj/machinery/door/airlock/maintenance/abandoned{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"arK" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"arL" = ( +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"arM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"arN" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external{ + name = "External Access"; + req_access_txt = "13" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"arO" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"arP" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/fore) +"arQ" = ( +/obj/structure/table, +/obj/item/flashlight/lamp, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"arR" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/structure/table/wood, +/obj/item/flashlight/lamp, +/turf/open/floor/plating, +/area/commons/vacant_room/office/b) +"arS" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"arT" = ( +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office/b) +"arU" = ( +/obj/structure/rack, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office/b) +"arV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/filingcabinet/employment, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/wood, +/area/service/lawoffice) +"arW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/closed/wall/r_wall/syndicate, +/area/service/lawoffice) +"arX" = ( +/obj/structure/table/wood, +/obj/item/folder/blue, +/obj/item/folder/blue, +/obj/item/folder/blue, +/obj/item/folder/blue, +/obj/item/stamp/law, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/wood, +/area/service/lawoffice) +"arY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/wood, +/area/service/lawoffice) +"arZ" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/obj/effect/landmark/start/lawyer, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/wood, +/area/service/lawoffice) +"asa" = ( +/obj/machinery/status_display/evac{ + pixel_x = 32 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"asb" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Brig Evidence Storage"; + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"asc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"asd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/commons/dorms) +"ase" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"asf" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"asg" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/sign/warning/fire{ + desc = "A sign that states the labeled room's number."; + dir = 4; + icon_state = "roomnum"; + name = "Room Number 3"; + pixel_x = -30; + pixel_y = -7 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"ash" = ( +/obj/machinery/atmospherics/components/trinary/filter{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"asi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"asj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plating, +/area/commons/vacant_room/office/b) +"ask" = ( +/obj/item/flashlight/lamp/green{ + pixel_x = -2; + pixel_y = 15 + }, +/obj/structure/dresser, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"asl" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plating, +/area/commons/vacant_room/office/b) +"asm" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"asn" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plating, +/area/commons/vacant_room/office/b) +"aso" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Law Office Maintenance"; + req_access_txt = "38" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"asp" = ( +/obj/machinery/camera{ + c_tag = "Brig Interrogation"; + dir = 8; + network = list("interrogation") + }, +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"asq" = ( +/obj/machinery/disposal/bin, +/obj/machinery/light_switch{ + pixel_y = -23 + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = 32; + pixel_y = -32 + }, +/obj/machinery/button/door{ + id = "Secure Brig Control"; + name = "Brig Control Shutters"; + pixel_x = 6; + pixel_y = -40; + req_access_txt = "2" + }, +/obj/machinery/button/door{ + id = "Cell Interior Shutters"; + name = "Cell Interior Shutters"; + pixel_x = -6; + pixel_y = -40; + req_access_txt = "2" + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/warden) +"asr" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/science/xenobiology) +"ass" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Labor Camp Shuttle Airlock" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"ast" = ( +/obj/structure/bed, +/obj/item/bedsheet/random, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"asu" = ( +/obj/machinery/light/small{ + dir = 4; + light_color = "#d8b1b1" + }, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"asv" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"asw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"asx" = ( +/obj/structure/door_assembly/door_assembly_mai, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"asy" = ( +/obj/machinery/door/airlock/maintenance/abandoned{ + name = "Firefighting equipment"; + req_access_txt = "12" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"asz" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/snacks/donut, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"asA" = ( +/obj/structure/table, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"asB" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/department/electrical) +"asC" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/science/xenobiology) +"asD" = ( +/obj/structure/table/wood, +/mob/living/simple_animal/pet/fox/Renault, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"asF" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/construction/mining/aux_base) +"asG" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"asH" = ( +/obj/structure/closet/toolcloset, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"asI" = ( +/obj/structure/closet/toolcloset, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"asJ" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"asK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"asL" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/crowbar, +/obj/item/clothing/neck/stethoscope, +/obj/item/storage/box/gloves{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/item/storage/box/masks, +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"asM" = ( +/obj/structure/table, +/obj/item/crowbar, +/obj/item/clothing/neck/stethoscope, +/obj/item/reagent_containers/spray/cleaner, +/obj/structure/sign/warning/nosmoking{ + pixel_y = 30 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"asN" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"asO" = ( +/obj/structure/table/reinforced, +/obj/item/grenade/smokebomb, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"asP" = ( +/obj/structure/chair/stool, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/fore) +"asQ" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/maintenance/fore) +"asR" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/structure/closet/secure_closet/chemical, +/turf/open/floor/plating, +/area/maintenance/fore) +"asS" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/maintenance/fore) +"asT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"asU" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_y = 30 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/door/airlock/medical/glass{ + id_tag = "MedbayFoyer"; + name = "Medbay"; + req_access_txt = "5" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"asV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"asW" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"asX" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/medical/glass{ + id_tag = "MedbayFoyer"; + name = "Medbay"; + req_access_txt = "5" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"asY" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"ata" = ( +/turf/open/floor/wood, +/area/service/lawoffice) +"atb" = ( +/obj/structure/table, +/obj/item/stack/sheet/plasteel{ + amount = 10 + }, +/obj/item/stack/rods/fifty, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"atc" = ( +/obj/structure/chair/office/dark, +/obj/effect/landmark/start/lawyer, +/turf/open/floor/wood, +/area/service/lawoffice) +"atd" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"ate" = ( +/obj/effect/landmark/xeno_spawn, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"atf" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"atg" = ( +/obj/machinery/door/airlock{ + id_tag = "Dorm4"; + name = "Room Three" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"ath" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"ati" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"atj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"atn" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"atp" = ( +/obj/machinery/door/airlock/external{ + name = "Construction Zone" + }, +/turf/open/floor/plating, +/area/construction/mining/aux_base) +"atq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"atr" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"att" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"atv" = ( +/obj/structure/table, +/obj/item/shard, +/obj/item/shard{ + icon_state = "medium" + }, +/obj/item/shard{ + icon_state = "small" + }, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"atw" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"atx" = ( +/obj/machinery/button/door{ + id = "maint3"; + name = "Blast Door Control C"; + pixel_y = 24 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aty" = ( +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"atA" = ( +/obj/structure/table, +/obj/item/paicard, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"atB" = ( +/obj/machinery/door/airlock/maintenance/abandoned{ + req_access_txt = "12" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"atC" = ( +/obj/item/stack/rods/fifty, +/obj/structure/rack, +/obj/item/stack/cable_coil{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/stack/cable_coil{ + amount = 5 + }, +/obj/item/stack/sheet/mineral/plasma{ + amount = 10 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/department/electrical) +"atD" = ( +/obj/machinery/recharge_station, +/turf/open/floor/plasteel/dark, +/area/maintenance/department/electrical) +"atE" = ( +/obj/machinery/power/port_gen/pacman, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"atF" = ( +/turf/open/floor/mech_bay_recharge_floor, +/area/maintenance/department/electrical) +"atG" = ( +/obj/machinery/mech_bay_recharge_port, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/department/electrical) +"atH" = ( +/obj/machinery/computer/mech_bay_power_console, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/circuit, +/area/maintenance/department/electrical) +"atI" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"atJ" = ( +/obj/machinery/space_heater, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"atK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/commons/vacant_room/office/b) +"atL" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"atM" = ( +/obj/structure/table, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plasteel, +/area/maintenance/port/fore) +"atN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"atO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/fore) +"atP" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/maintenance/port/fore) +"atS" = ( +/turf/closed/wall/r_wall/syndicate, +/area/space/nearstation) +"atU" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"atW" = ( +/obj/structure/chair/stool, +/turf/open/floor/plasteel, +/area/maintenance/port/fore) +"atY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/commons/vacant_room/office/b) +"atZ" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"aub" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"auc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"aue" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/fore) +"auf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/service/lawoffice) +"aug" = ( +/obj/structure/table/wood, +/obj/machinery/camera{ + c_tag = "Law Office"; + dir = 1 + }, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/obj/machinery/computer/security/telescreen/prison{ + dir = 1; + pixel_y = -27 + }, +/turf/open/floor/wood, +/area/service/lawoffice) +"auh" = ( +/obj/structure/table/wood, +/obj/item/taperecorder, +/obj/item/cartridge/lawyer, +/turf/open/floor/wood, +/area/service/lawoffice) +"aui" = ( +/obj/machinery/photocopier, +/obj/machinery/button/door{ + id = "lawyer_blast"; + name = "Privacy Shutters"; + pixel_x = 25; + pixel_y = 8 + }, +/turf/open/floor/wood, +/area/service/lawoffice) +"auk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aul" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aum" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aun" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/commons/dorms) +"auo" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/fore) +"auq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/commons/vacant_room/office/b) +"aur" = ( +/obj/machinery/button/door{ + id = "Room One"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = -25; + specialfunctions = 4 + }, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"aut" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -29 + }, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"auv" = ( +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"auw" = ( +/obj/structure/bed, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/machinery/button/door{ + id = "Dorm3"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 25; + specialfunctions = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/spawner/lootdrop/bedsheet, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"aux" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"auz" = ( +/obj/machinery/camera{ + c_tag = "Holodeck" + }, +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"auB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"auD" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"auE" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"auF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"auG" = ( +/obj/machinery/door/airlock/maintenance/abandoned{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"auH" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"auI" = ( +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"auJ" = ( +/turf/open/floor/plasteel/dark, +/area/maintenance/department/electrical) +"auK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/department/electrical) +"auL" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/department/electrical) +"auM" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/department/electrical) +"auO" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"auP" = ( +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"auQ" = ( +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"auR" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/structure/sign/warning/fire{ + desc = "A sign that states the labeled room's number."; + dir = 1; + icon_state = "roomnum"; + name = "Room Number 2"; + pixel_x = -30; + pixel_y = -7 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"auT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"auV" = ( +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"auX" = ( +/obj/machinery/door/airlock/external{ + name = "External Access"; + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"auY" = ( +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/fore) +"ava" = ( +/obj/structure/table/glass, +/obj/item/storage/bag/trash, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"avb" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"avg" = ( +/obj/machinery/door/airlock{ + id_tag = "Dorm5"; + name = "Room Four" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"avh" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/power/apc{ + areastring = "/area/commons/vacant_room/office/b"; + dir = 8; + name = "Vacant Office B APC"; + pixel_x = -25 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"avi" = ( +/obj/machinery/power/apc{ + areastring = "/area/service/lawoffice"; + dir = 1; + name = "Law Office APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/fore) +"avj" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"avk" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"avn" = ( +/obj/machinery/door/airlock{ + id_tag = "Dorm6"; + name = "Room Five" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"avo" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/department/electrical) +"avp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/poddoor/shutters{ + id = "aux_base_shutters"; + name = "Auxillary Base Shutters" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/construction/mining/aux_base) +"avq" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"avr" = ( +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/obj/machinery/camera{ + c_tag = "Detective's Office" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"avs" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/fore) +"avt" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"avv" = ( +/obj/machinery/camera{ + c_tag = "Dorms West" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"avw" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/maintenance{ + name = "Dormitories Maintenance"; + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"avy" = ( +/obj/machinery/door/airlock{ + id_tag = "Room One"; + name = "Room Six - Luxury Suite" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"avz" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/machinery/light{ + dir = 1; + light_color = "#cee5d2" + }, +/obj/structure/table, +/obj/structure/bedsheetbin/color, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"avA" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/structure/table, +/obj/structure/bedsheetbin/towel, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"avC" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"avD" = ( +/obj/machinery/computer/holodeck{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"avE" = ( +/obj/machinery/door/poddoor/preopen{ + id = "maint3" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"avF" = ( +/obj/machinery/door/poddoor/preopen{ + id = "maint3" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"avG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"avH" = ( +/obj/structure/sign/warning/electricshock, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/department/electrical) +"avI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"avJ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"avK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/department/electrical) +"avL" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/department/electrical"; + dir = 1; + name = "Electrical Maintenance APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"avM" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"avN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"avO" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/fyellow, +/obj/item/storage/toolbox/electrical{ + pixel_x = 1; + pixel_y = -1 + }, +/obj/item/multitool, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_x = 29 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/department/electrical) +"avP" = ( +/obj/structure/sign/warning/pods, +/turf/closed/wall/r_wall/syndicate, +/area/hallway/secondary/entry) +"avQ" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Auxillary Base Construction"; + dir = 8 + }, +/obj/machinery/computer/camera_advanced/base_construction{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"avR" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/sign/warning/fire{ + desc = "A sign that states the labeled room's number."; + dir = 8; + icon_state = "roomnum"; + name = "Room Number 4"; + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"avS" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"avT" = ( +/obj/docking_port/stationary{ + dheight = 1; + dir = 8; + dwidth = 12; + height = 17; + id = "syndicate_ne"; + name = "northeast of station"; + width = 23 + }, +/turf/open/space, +/area/space/nearstation) +"avV" = ( +/obj/structure/table/reinforced, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"avW" = ( +/turf/open/floor/plating{ + icon_state = "platingdmg2" + }, +/area/maintenance/port/fore) +"avX" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"avY" = ( +/obj/structure/chair/e_chair, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"avZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/fore) +"awa" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"awb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"awc" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"awg" = ( +/obj/structure/cable{ + 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/fore) +"awh" = ( +/obj/effect/landmark/blobstart, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/fore) +"awi" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/fore) +"awj" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + 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/fore) +"awk" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"awl" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"awm" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"awn" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"awo" = ( +/obj/machinery/door/airlock{ + id_tag = "Dorm3"; + name = "Room Two" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"awp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"awq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1; + light_color = "#cee5d2" + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"awt" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/sign/warning/fire{ + desc = "A sign that states the labeled room's number."; + dir = 6; + icon_state = "roomnum"; + name = "Room Number 5"; + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"awu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"awv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"awx" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"awy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"awz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"awA" = ( +/obj/machinery/holopad, +/obj/machinery/camera{ + c_tag = "Dorms Central" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"awB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/closet{ + name = "Holodeck Outfits" + }, +/obj/item/clothing/under/misc/blue_camo, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"awC" = ( +/obj/structure/table, +/obj/item/paper/fluff/holodeck/disclaimer, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"awD" = ( +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"awE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/meter, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"awF" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"awG" = ( +/obj/structure/girder, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"awH" = ( +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"awI" = ( +/obj/machinery/button/door{ + id = "maint2"; + name = "Blast Door Control B"; + pixel_x = -28; + pixel_y = 4 + }, +/obj/machinery/button/door{ + id = "maint1"; + name = "Blast Door Control A"; + pixel_x = -28; + pixel_y = -6 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"awJ" = ( +/obj/structure/janitorialcart, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"awK" = ( +/obj/structure/table/glass, +/obj/item/coin/silver, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"awL" = ( +/obj/structure/table/glass, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"awM" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"awO" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"awP" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"awQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/engineering/abandoned{ + name = "Electrical Maintenance"; + req_access_txt = "11" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"awR" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"awS" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"awT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"awU" = ( +/obj/structure/table, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/wallframe/camera, +/obj/item/wallframe/camera, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/department/electrical) +"awV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"awW" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"awY" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"axa" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"axb" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"axc" = ( +/obj/structure/rack, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/wallframe/camera, +/obj/item/wallframe/camera, +/obj/item/wallframe/camera, +/obj/item/wallframe/camera, +/obj/item/assault_pod/mining, +/obj/machinery/computer/security/telescreen/auxbase{ + dir = 8; + pixel_x = 30 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"axe" = ( +/obj/machinery/iv_drip, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"axf" = ( +/obj/structure/frame/computer, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"axg" = ( +/obj/item/shard{ + icon_state = "medium" + }, +/obj/item/circuitboard/computer/operating, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"axh" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"axj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/sign/poster/contraband/have_a_puff, +/turf/closed/wall/r_wall/syndicate, +/area/service/hydroponics) +"axk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"axl" = ( +/obj/structure/table/reinforced, +/obj/item/grenade/clusterbuster/cleaner, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"axp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"axr" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"axt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"axu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"axw" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"axy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/command/storage/eva) +"axz" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/command/storage/eva) +"axB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"axC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/sign/poster/contraband/pwr_game{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"axD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/fore/secondary) +"axE" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/structure/sign/poster/official/do_not_question{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"axF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"axG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"axH" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"axI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"axL" = ( +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"axN" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"axO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/chair/comfy/black, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"axP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/chair/comfy/brown, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"axS" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"axT" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"axW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"axX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aya" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"ayb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"ayc" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"ayd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aye" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"ayf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"ayg" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"ayh" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"ayi" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"ayj" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high/plus, +/obj/item/stock_parts/cell/high/plus, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"ayk" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"ayl" = ( +/obj/effect/turf_decal/caution/stand_clear/red, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aym" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"ayn" = ( +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"ayo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"ayp" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"ayq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"ayr" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"ays" = ( +/obj/structure/table/reinforced, +/obj/item/grenade/flashbang, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"ayt" = ( +/obj/structure/table/reinforced, +/obj/item/grenade/empgrenade, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"ayu" = ( +/obj/structure/table/optable{ + name = "Robotics Operating Table" + }, +/obj/item/surgical_drapes, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"ayv" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/item/radio/off, +/obj/item/assembly/timer, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"ayw" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"ayy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"ayz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"ayG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/fore) +"ayH" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/fore) +"ayI" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/sign/warning/securearea{ + pixel_x = 32 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/fore) +"ayJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/fore) +"ayK" = ( +/obj/structure/closet/crate/rcd, +/obj/machinery/camera/motion{ + c_tag = "EVA Motion Sensor" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"ayM" = ( +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"ayN" = ( +/obj/structure/rack, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/hand_labeler, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/flashlight, +/obj/item/clothing/glasses/welding, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"ayO" = ( +/obj/structure/table, +/obj/item/storage/toolbox/electrical{ + pixel_x = 1; + pixel_y = -1 + }, +/obj/item/screwdriver{ + pixel_y = 16 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"ayP" = ( +/obj/machinery/power/apc{ + areastring = "/area/ai_monitored/command/storage/eva"; + dir = 1; + name = "EVA Storage APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"ayQ" = ( +/obj/structure/table, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = -7 + }, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high/plus, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"ayR" = ( +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/multitool, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"ayS" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/sign/warning/securearea{ + pixel_y = 32 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/ai_monitored/command/storage/eva) +"ayT" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/table, +/obj/item/assembly/signaler, +/obj/item/assembly/signaler, +/obj/item/stock_parts/cell/high/plus, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"ayU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"ayV" = ( +/obj/structure/bed, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/machinery/button/door{ + id = "Dorm2"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 25; + specialfunctions = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/spawner/lootdrop/bedsheet, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"ayW" = ( +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/command/storage/eva) +"ayX" = ( +/obj/structure/table, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/item/clothing/head/welding, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"ayY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/sign/poster/official/obey{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"ayZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/structure/sign/poster/official/obey{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aza" = ( +/obj/structure/table/wood/poker, +/obj/item/toy/cards/deck, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"azb" = ( +/obj/structure/table/wood/poker, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"azc" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aze" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"azf" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"azg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"azh" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"azi" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Garden Maintenance"; + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"azk" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"azm" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/toy/poolnoodle/blue, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"azo" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"azp" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"azq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/service/hydroponics/garden) +"azr" = ( +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"azs" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"azt" = ( +/obj/machinery/power/terminal, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"azu" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"azv" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"azw" = ( +/obj/machinery/light_switch{ + pixel_y = -25 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"azx" = ( +/obj/machinery/power/terminal, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"azy" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external{ + name = "Port Docking Bay 1" + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"azz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"azA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"azB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"azC" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -29 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"azD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"azE" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"azF" = ( +/turf/closed/wall/r_wall/syndicate, +/area/service/hydroponics/garden) +"azK" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"azN" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"azO" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"azQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/maintenance{ + name = "EVA Maintenance"; + req_access_txt = "18" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/maintenance/fore) +"azR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"azS" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "EVA Storage"; + req_access_txt = "18" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ai_monitored/command/storage/eva) +"azT" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"azU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"azX" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"azY" = ( +/obj/structure/table, +/obj/item/radio/off, +/obj/item/radio/off, +/obj/item/assembly/prox_sensor, +/obj/item/assembly/prox_sensor, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"azZ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aAa" = ( +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aAb" = ( +/obj/machinery/door/airlock{ + id_tag = "Dorm2"; + name = "Room One" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aAc" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aAd" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aAe" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aAh" = ( +/turf/closed/wall/r_wall/syndicate, +/area/commons/toilet) +"aAi" = ( +/obj/structure/chair/comfy/brown{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aAj" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/power/apc{ + areastring = "/area/security/checkpoint/auxiliary"; + name = "Security Checkpoint APC"; + pixel_x = 1; + pixel_y = -24 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aAk" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aAl" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aAn" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aAo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/power/apc{ + areastring = "/area/commons/fitness"; + name = "Fitness Room APC"; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aAp" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aAr" = ( +/obj/structure/closet, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 4; + name = "4maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aAs" = ( +/obj/structure/musician/piano{ + icon_state = "piano" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aAt" = ( +/obj/machinery/door/poddoor/preopen{ + id = "maint2" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aAv" = ( +/obj/structure/closet, +/obj/effect/landmark/blobstart, +/obj/effect/spawner/lootdrop/maintenance, +/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aAw" = ( +/obj/machinery/power/apc{ + areastring = "/area/service/hydroponics/garden"; + dir = 4; + name = "Garden APC"; + pixel_x = 24; + pixel_y = 2 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aAx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aAy" = ( +/obj/machinery/power/smes, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"aAz" = ( +/obj/machinery/computer/monitor{ + dir = 1; + name = "backup power monitoring console" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"aAA" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/department/electrical) +"aAB" = ( +/obj/machinery/power/smes, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"aAC" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall/r_wall/syndicate, +/area/hallway/secondary/entry) +"aAD" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"aAE" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aAF" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aAG" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aAH" = ( +/obj/machinery/camera{ + c_tag = "Arrivals Bay 1 North"; + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aAI" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aAJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aAK" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/sink{ + pixel_y = 30 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aAL" = ( +/obj/machinery/power/apc{ + areastring = "/area/commons/storage/primary"; + name = "Primary Tool Storage APC"; + pixel_x = 1; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aAN" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aAO" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aAP" = ( +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass, +/area/service/hydroponics/garden) +"aAQ" = ( +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aAR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aAS" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aAT" = ( +/obj/machinery/seed_extractor, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aAU" = ( +/obj/structure/sink{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aAV" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aAW" = ( +/obj/structure/rack, +/obj/item/tank/jetpack/carbondioxide/eva, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aAX" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aAY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aAZ" = ( +/obj/structure/table/wood, +/obj/item/paper_bin/bundlenatural{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/paper_bin{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/pen/fountain, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/item/pen/fourcolor, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aBh" = ( +/obj/machinery/camera{ + c_tag = "EVA Maintenance"; + dir = 8 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/fore) +"aBi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"aBj" = ( +/obj/structure/rack, +/obj/machinery/light{ + dir = 8 + }, +/obj/item/tank/jetpack/carbondioxide/eva, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aBk" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/command/storage/eva) +"aBl" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Security Maintenance"; + req_access_txt = "1" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aBm" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aBn" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aBo" = ( +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aBp" = ( +/obj/structure/rack, +/obj/item/clothing/shoes/magboots, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aBq" = ( +/obj/structure/rack, +/obj/item/clothing/shoes/magboots, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aBr" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aBs" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/ai_monitored/command/storage/eva) +"aBt" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/ai_monitored/command/storage/eva) +"aBu" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aBv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aBw" = ( +/obj/item/seeds/apple, +/obj/item/seeds/banana, +/obj/item/seeds/cocoapod, +/obj/item/seeds/grape, +/obj/item/seeds/orange, +/obj/item/seeds/sugarcane, +/obj/item/seeds/wheat, +/obj/item/seeds/watermelon, +/obj/structure/table/glass, +/obj/item/seeds/tower, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aBy" = ( +/obj/machinery/door/airlock{ + desc = "A small bathroom with a sink, toilet and shower."; + id_tag = "Bath3"; + name = "Bathroom" + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"aBA" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/table/wood, +/obj/item/paicard, +/obj/item/clothing/mask/balaclava{ + pixel_x = -8; + pixel_y = 8 + }, +/obj/item/toy/cards/deck{ + pixel_x = 2 + }, +/obj/item/storage/crayons, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aBB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard/fore) +"aBC" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aBE" = ( +/obj/item/clothing/under/misc/mailman, +/obj/item/clothing/head/mailman, +/obj/structure/closet, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aBF" = ( +/obj/machinery/space_heater, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aBG" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aBH" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aBI" = ( +/turf/closed/wall/r_wall/syndicate, +/area/security/checkpoint/auxiliary) +"aBJ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/security/checkpoint/auxiliary) +"aBK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/security/checkpoint/auxiliary) +"aBL" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Tool Storage Maintenance"; + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aBN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/commons/storage/primary) +"aBO" = ( +/obj/machinery/requests_console{ + department = "EVA"; + pixel_x = -32 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aBP" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aBQ" = ( +/turf/closed/wall/r_wall/syndicate, +/area/commons/storage/primary) +"aBR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/commons/storage/primary) +"aBW" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"aBX" = ( +/obj/machinery/power/apc{ + areastring = "/area/ai_monitored/command/nuke_storage"; + dir = 1; + name = "Vault APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/command/nuke_storage) +"aBZ" = ( +/obj/structure/filingcabinet, +/obj/item/folder/documents, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/nuke_storage) +"aCa" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aCb" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/item/pen{ + desc = "Writes upside down!"; + name = "astronaut pen" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aCc" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aCd" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/machinery/cryopod, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/commons/cryopod) +"aCe" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/commons/toilet) +"aCg" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aCi" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/ai_monitored/command/storage/eva) +"aCj" = ( +/obj/machinery/camera{ + c_tag = "EVA East"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aCk" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aCl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aCn" = ( +/obj/machinery/door/airlock{ + name = "Unisex Restrooms" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aCp" = ( +/obj/machinery/camera{ + c_tag = "Arrivals North"; + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aCr" = ( +/obj/structure/chair/sofa/corp/left{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/bar) +"aCs" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/vending/wardrobe/sec_wardrobe, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/auxiliary) +"aCt" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aCu" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"aCv" = ( +/obj/machinery/vr_sleeper{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"aCw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "holoprivacy"; + name = "Holodeck Shutters" + }, +/turf/open/floor/plating, +/area/commons/fitness) +"aCy" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "holoprivacy"; + name = "Holodeck Shutters" + }, +/turf/open/floor/plating, +/area/commons/fitness) +"aCz" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aCA" = ( +/obj/structure/grille/broken, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/window{ + dir = 4 + }, +/obj/structure/window, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"aCB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard/fore) +"aCC" = ( +/obj/machinery/door/poddoor/preopen{ + id = "maint1" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aCD" = ( +/obj/machinery/door/poddoor/preopen{ + id = "maint1" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aCE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard/fore) +"aCF" = ( +/obj/structure/girder, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aCG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aCH" = ( +/obj/machinery/space_heater, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aCI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aCJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aCK" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aCL" = ( +/obj/structure/closet/secure_closet/security, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/auxiliary) +"aCM" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aCN" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aCO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass, +/area/service/chapel/main) +"aCP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/grown/poppy{ + pixel_y = 5 + }, +/obj/item/reagent_containers/food/snacks/grown/harebell{ + pixel_y = 5 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aCQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/hydroponics/soil, +/obj/structure/window/reinforced{ + dir = 4; + pixel_x = 3 + }, +/turf/open/floor/grass, +/area/service/chapel/main) +"aCR" = ( +/turf/closed/wall/r_wall/syndicate, +/area/service/chapel/main) +"aCT" = ( +/obj/structure/table, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"aCW" = ( +/obj/machinery/sleeper/syndie{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"aCX" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"aCY" = ( +/obj/machinery/computer/security, +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = 30 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/auxiliary) +"aCZ" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/auxiliary) +"aDa" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aDb" = ( +/obj/structure/table, +/obj/item/wirecutters, +/obj/item/flashlight{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aDc" = ( +/obj/machinery/computer/card, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = 20 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/auxiliary) +"aDd" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aDe" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aDf" = ( +/obj/machinery/computer/secure_data, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + pixel_y = 30 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/auxiliary) +"aDg" = ( +/obj/machinery/biogenerator, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aDh" = ( +/obj/machinery/vending/assist, +/obj/structure/sign/poster/contraband/grey_tide{ + desc = "A poster promoting a regression to ape-like intelligence for Assistants, suggesting they break, loot and murder enough to make even a caveman blush."; + pixel_x = -32; + poster_item_desc = "Nanotrasen does not condone such messages. Please don't regress to ape-level intelligence as this poster suggests." + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aDi" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/command/nuke_storage) +"aDj" = ( +/obj/machinery/nuclearbomb/selfdestruct, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/nuke_storage) +"aDk" = ( +/obj/structure/table, +/obj/item/assembly/igniter{ + pixel_x = -8; + pixel_y = -4 + }, +/obj/item/assembly/igniter, +/obj/item/screwdriver{ + pixel_y = 16 + }, +/obj/machinery/camera{ + c_tag = "Primary Tool Storage" + }, +/obj/machinery/requests_console{ + department = "Tool Storage"; + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aDl" = ( +/obj/structure/table, +/obj/item/t_scanner, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aDm" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/obj/item/stock_parts/cell/high/plus, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aDn" = ( +/obj/structure/table, +/obj/item/assembly/signaler, +/obj/item/assembly/signaler, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = 20 + }, +/obj/item/multitool, +/obj/item/multitool{ + pixel_x = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aDo" = ( +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aDp" = ( +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aDq" = ( +/obj/machinery/vending/tool, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aDs" = ( +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"aDt" = ( +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"aDv" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 1; + sortType = 18 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"aDx" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white/left, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/nuke_storage) +"aDz" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/fore) +"aDA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aDB" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aDC" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aDD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aDE" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/machinery/light, +/obj/machinery/camera{ + c_tag = "EVA Storage"; + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aDF" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aDG" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Dorms South"; + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aDH" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/pen, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/item/folder/white, +/obj/item/pen/fountain, +/obj/item/stamp/rd{ + pixel_x = 3; + pixel_y = -2 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"aDI" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/command/storage/eva) +"aDK" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Cryogenics " + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel, +/area/commons/cryopod) +"aDL" = ( +/obj/structure/toilet/secret/low_loot{ + dir = 4 + }, +/obj/structure/mirror{ + pixel_y = 32 + }, +/obj/structure/sink{ + pixel_y = 25 + }, +/obj/machinery/button/door{ + id = "Bath1"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 14; + pixel_y = 38; + specialfunctions = 4 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"aDM" = ( +/turf/closed/wall/r_wall/syndicate, +/area/engineering/engine_smes) +"aDQ" = ( +/obj/machinery/door/airlock{ + desc = "A small bathroom with a sink, toilet and shower."; + id_tag = "Bath1"; + name = "Bathroom" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"aDW" = ( +/obj/structure/loot_pile/maint, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"aDZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aEa" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aEd" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aEe" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aEf" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aEg" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/power/apc{ + areastring = "/area/service/chapel/main"; + name = "Chapel APC"; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aEh" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aEi" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance{ + name = "Chapel Maintenance"; + req_access_txt = "12" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aEj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aEk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aEl" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aEm" = ( +/obj/structure/bookcase, +/obj/machinery/camera{ + c_tag = "Chapel North" + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aEn" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aEz" = ( +/obj/machinery/power/apc{ + areastring = "/area/hallway/secondary/entry"; + dir = 4; + name = "Entry Hall APC"; + pixel_x = 24 + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aEA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aEB" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aEC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aED" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aEE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/auxiliary) +"aEF" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/food/snacks/grown/wheat, +/obj/item/reagent_containers/food/snacks/grown/watermelon, +/obj/item/reagent_containers/food/snacks/grown/watermelon, +/obj/item/reagent_containers/food/snacks/grown/watermelon, +/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/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aEG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/auxiliary) +"aEH" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/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/mineral/plastitanium/red, +/area/security/checkpoint/auxiliary) +"aEJ" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/auxiliary) +"aEK" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/auxiliary) +"aEL" = ( +/obj/machinery/door/airlock{ + name = "Garden" + }, +/turf/open/floor/plasteel, +/area/service/hydroponics/garden) +"aEM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"aEN" = ( +/obj/machinery/camera{ + c_tag = "Gateway"; + dir = 4 + }, +/obj/structure/table, +/obj/structure/sign/warning/biohazard{ + pixel_x = -32 + }, +/obj/item/storage/firstaid/regular, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"aEO" = ( +/obj/structure/table, +/obj/item/radio/off{ + pixel_y = 6 + }, +/obj/item/radio/off{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/radio/off{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/radio/off, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"aEP" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/structure/sign/warning/biohazard{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"aEQ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/circuit/red, +/area/ai_monitored/command/nuke_storage) +"aER" = ( +/turf/open/floor/circuit/red, +/area/ai_monitored/command/nuke_storage) +"aET" = ( +/obj/effect/turf_decal/bot_white/left, +/obj/structure/closet/crate/silvercrate, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/nuke_storage) +"aEV" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/fore) +"aEW" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/ai_monitored/command/storage/eva) +"aEX" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "EVA Storage"; + req_access_txt = "18" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aEY" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/ai_monitored/command/storage/eva) +"aEZ" = ( +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aFa" = ( +/obj/machinery/suit_storage_unit/cmo, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"aFb" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aFc" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/command/storage/eva) +"aFd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aFe" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aFm" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aFn" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aFo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aFp" = ( +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aFq" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/space, +/area/space/nearstation) +"aFr" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aFs" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aFu" = ( +/turf/closed/wall/r_wall/syndicate, +/area/service/library) +"aFv" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aFw" = ( +/turf/closed/wall/r_wall/syndicate, +/area/service/chapel/office) +"aFx" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aFy" = ( +/obj/machinery/power/apc{ + areastring = "/area/service/chapel/office"; + name = "Chapel Office APC"; + pixel_y = -24 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aFz" = ( +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aFA" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aFB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aFG" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aFH" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/auxiliary) +"aFI" = ( +/obj/machinery/camera{ + c_tag = "Security Checkpoint"; + dir = 1 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/light_switch{ + pixel_x = 6; + pixel_y = -25 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/auxiliary) +"aFJ" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aFK" = ( +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/pen, +/obj/structure/table, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/auxiliary) +"aFL" = ( +/obj/item/radio/off, +/obj/item/crowbar, +/obj/item/assembly/flash/handheld, +/obj/structure/table, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/auxiliary) +"aFM" = ( +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/structure/table, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/auxiliary) +"aFN" = ( +/obj/structure/table/glass, +/obj/item/cultivator, +/obj/item/hatchet, +/obj/item/crowbar, +/obj/item/plant_analyzer, +/obj/item/reagent_containers/glass/bucket, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aFO" = ( +/obj/machinery/camera{ + c_tag = "Garden"; + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aFP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aFQ" = ( +/obj/structure/table, +/obj/item/stack/cable_coil{ + pixel_x = 2; + pixel_y = -2 + }, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = -7 + }, +/obj/item/screwdriver{ + pixel_y = 16 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aFR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aFT" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aFU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aFV" = ( +/obj/effect/turf_decal/bot_white/right, +/obj/machinery/ore_silo, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/nuke_storage) +"aFW" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/camera/motion{ + c_tag = "Vault"; + dir = 1; + network = list("vault") + }, +/obj/machinery/light, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/nuke_storage) +"aFX" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/nuke_storage) +"aFY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aFZ" = ( +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aGa" = ( +/obj/structure/chair/stool, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"aGb" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_x = -30 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"aGc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"aGd" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"aGg" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/fore) +"aGi" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aGj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aGk" = ( +/obj/structure/toilet/secret/low_loot{ + dir = 4 + }, +/obj/structure/mirror{ + pixel_y = 32 + }, +/obj/structure/sink{ + pixel_y = 25 + }, +/obj/machinery/button/door{ + id = "Bath2"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 14; + pixel_y = 38; + specialfunctions = 4 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"aGl" = ( +/obj/machinery/door/airlock{ + desc = "A small bathroom with a sink, toilet and shower."; + id_tag = "Bath2"; + name = "Bathroom" + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"aGm" = ( +/obj/structure/cable, +/obj/machinery/power/apc{ + areastring = "/area/commons/toilet"; + dir = 4; + name = "Dormitory Bathrooms APC"; + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/table/glass, +/obj/structure/bedsheetbin/towel, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"aGo" = ( +/obj/structure/table, +/obj/item/stack/sheet/rglass{ + amount = 50 + }, +/obj/item/stack/sheet/rglass{ + amount = 50 + }, +/obj/item/stack/rods/fifty, +/obj/item/stack/rods/fifty, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aGq" = ( +/obj/item/stack/sheet/plasteel{ + amount = 10 + }, +/obj/structure/table, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aGs" = ( +/obj/machinery/suit_storage_unit/rd, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"aGt" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aGu" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aGx" = ( +/obj/item/radio/intercom{ + pixel_x = -25 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"aGA" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4; + sortType = 19 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aGB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4; + sortType = 20 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aGC" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aGE" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aGF" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 4; + sortType = 17 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aGG" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Library Maintenance"; + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aGH" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aGI" = ( +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aGJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aGL" = ( +/obj/structure/cable{ + 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/starboard/fore) +"aGM" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Crematorium Maintenance"; + req_access_txt = "27" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aGN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aGO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/service/chapel/office) +"aGQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aGS" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aGT" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aGU" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/requests_console{ + department = "Chapel"; + departmentType = 2; + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aGV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aGW" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aGX" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/space, +/area/space/nearstation) +"aGY" = ( +/obj/machinery/airalarm{ + pixel_y = 25 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aGZ" = ( +/obj/machinery/door/airlock/security{ + name = "Security Checkpoint"; + req_access_txt = "1" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/auxiliary) +"aHa" = ( +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/item/paper, +/obj/machinery/door/window/westright{ + dir = 1; + name = "Security Checkpoint"; + req_access_txt = "1" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"aHb" = ( +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/stack/packageWrap, +/obj/item/pen/fourcolor, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aHd" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aHe" = ( +/obj/structure/table, +/obj/item/storage/toolbox/electrical{ + pixel_x = 1; + pixel_y = -1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aHf" = ( +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/obj/machinery/vending/wardrobe/chap_wardrobe, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aHg" = ( +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/obj/machinery/camera{ + c_tag = "Chapel Office" + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aHh" = ( +/obj/structure/sign/warning/securearea, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/command/nuke_storage) +"aHi" = ( +/obj/machinery/door/morgue{ + name = "Confession Booth (Chaplain)"; + req_access_txt = "22" + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aHj" = ( +/obj/effect/mapping_helpers/airlock/locked, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/door/airlock/vault{ + name = "Vault Door"; + req_access_txt = "53" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/nuke_storage) +"aHk" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/table/wood, +/obj/item/clothing/under/misc/burial, +/obj/item/clothing/under/misc/burial, +/obj/item/clothing/under/misc/burial, +/obj/item/clothing/under/misc/burial, +/obj/item/clothing/under/misc/burial, +/obj/item/clothing/under/misc/burial, +/obj/item/clothing/under/misc/burial, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aHl" = ( +/obj/structure/chair/comfy/plywood, +/obj/machinery/light/floor, +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1480; + name = "Confessional Intercom"; + pixel_x = 25 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aHm" = ( +/obj/structure/lattice, +/turf/closed/wall/r_wall/syndicate, +/area/service/chapel/main) +"aHn" = ( +/obj/machinery/mass_driver{ + dir = 4; + id = "chapelgun"; + name = "Holy Driver" + }, +/obj/machinery/door/window{ + dir = 8; + name = "Mass Driver"; + req_access_txt = "22" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/service/chapel/main) +"aHu" = ( +/obj/machinery/status_display/evac{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aHw" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"aHx" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/fore) +"aHy" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/checkpoint/auxiliary) +"aHz" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aHA" = ( +/obj/item/reagent_containers/spray/plantbgone, +/obj/item/reagent_containers/spray/pestspray{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/item/reagent_containers/glass/bottle/nutrient/ez, +/obj/item/reagent_containers/glass/bottle/nutrient/rh{ + pixel_x = 2; + pixel_y = 1 + }, +/obj/structure/table/glass, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aHB" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aHC" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aHD" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aHE" = ( +/obj/structure/table, +/obj/item/weldingtool, +/obj/item/crowbar, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aHF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"aHH" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Dormitory" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aHI" = ( +/turf/open/floor/plasteel/dark, +/area/service/theater) +"aHJ" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/fore) +"aHL" = ( +/obj/machinery/computer/bank_machine, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/nuke_storage) +"aHM" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/closed/wall/r_wall/syndicate, +/area/service/bar) +"aHN" = ( +/obj/structure/table, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/crowbar, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aHO" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aHP" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aHQ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aHR" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aHS" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/maintenance{ + name = "Bar Storage Maintenance"; + req_access_txt = "25" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aHT" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Dormitory" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aHV" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/table/glass, +/obj/item/razor{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/reagent_containers/rag/towel/random, +/obj/item/reagent_containers/rag/towel/random, +/obj/item/reagent_containers/rag/towel/random, +/obj/item/reagent_containers/rag/towel/random, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"aHY" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aIa" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aIc" = ( +/obj/machinery/power/apc{ + areastring = "/area/service/bar"; + name = "Bar APC"; + pixel_y = -24 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aId" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aIe" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/service/bar) +"aIf" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aIg" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=2"; + freq = 1400; + location = "Bar" + }, +/obj/structure/plasticflaps/opaque, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"aIh" = ( +/obj/machinery/power/apc{ + areastring = "/area/service/kitchen"; + name = "Kitchen APC"; + pixel_y = -24 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aIj" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4; + sortType = 21 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aIk" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aIl" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aIm" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aIn" = ( +/obj/machinery/power/apc{ + areastring = "/area/service/hydroponics"; + name = "Hydroponics APC"; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aIo" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aIp" = ( +/turf/closed/wall/r_wall/syndicate, +/area/service/hydroponics) +"aIq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/service/hydroponics) +"aIr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/button/door{ + desc = "Bolts the doors to the Private Study."; + id = "PrivateStudy"; + name = "Private Study Lock"; + pixel_x = -5; + pixel_y = 24; + req_access_txt = "28" + }, +/obj/machinery/button/door{ + id = "PrivateStudy1"; + name = "Privacy Shutters"; + pixel_x = 5; + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aIs" = ( +/obj/machinery/camera{ + c_tag = "Library North" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1; + light_color = "#c1caff" + }, +/obj/structure/chair/sofa/corp/right, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aIt" = ( +/turf/open/floor/plasteel/dark, +/area/service/library) +"aIu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aIv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aIw" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/landmark/start/assistant, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/chair/sofa/corp/left, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aIx" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aIy" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aIz" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/table/wood, +/obj/item/storage/crayons{ + pixel_y = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aIB" = ( +/obj/structure/bodycontainer/crematorium{ + id = "crematoriumChapel" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aIC" = ( +/obj/effect/landmark/start/chaplain, +/obj/structure/chair/comfy/plywood, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/service/chapel/office) +"aID" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aIH" = ( +/obj/structure/table, +/obj/item/storage/box/lights/mixed, +/obj/item/pipe_dispenser, +/obj/machinery/button/door{ + id = "aux_base_shutters"; + name = "Public Shutters Control"; + pixel_x = 24; + req_one_access_txt = "32;47;48" + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"aII" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aIJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aIK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aIL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aIM" = ( +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aIN" = ( +/obj/structure/table, +/obj/item/wrench, +/obj/item/analyzer, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aIO" = ( +/obj/machinery/camera{ + c_tag = "Arrivals Lounge" + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aIP" = ( +/obj/structure/sign/map/left{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aIQ" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aIR" = ( +/obj/structure/sign/map/right{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aIS" = ( +/obj/structure/table/glass, +/obj/item/hatchet, +/obj/item/cultivator, +/obj/item/crowbar, +/obj/item/reagent_containers/glass/bucket, +/obj/item/plant_analyzer, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aIT" = ( +/obj/item/storage/bag/plants/portaseeder, +/obj/structure/table/glass, +/obj/item/plant_analyzer, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_x = 29 + }, +/obj/machinery/light_switch{ + pixel_x = -6; + pixel_y = -25 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aIU" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + freq = 1400; + location = "Tool Storage" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aIV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/ai_monitored/command/nuke_storage) +"aIW" = ( +/obj/structure/table, +/obj/item/crowbar, +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/clothing/gloves/color/fyellow, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aIX" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aIY" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aIZ" = ( +/obj/structure/table, +/obj/item/storage/belt/utility, +/obj/item/storage/firstaid/regular, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aJa" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/nuke_storage) +"aJb" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aJc" = ( +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aJe" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/pneumatic_cannon/pie/selfcharge, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"aJf" = ( +/obj/machinery/camera{ + c_tag = "EVA South"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aJg" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aJi" = ( +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/command/nuke_storage) +"aJj" = ( +/obj/structure/table, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/extinguisher, +/obj/item/extinguisher, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aJl" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"aJm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/vending/wardrobe/bar_wardrobe, +/turf/open/floor/carpet/black, +/area/service/bar) +"aJn" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hallway/primary/central) +"aJo" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Central Hallway North" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aJp" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aJq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/aft) +"aJr" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aJs" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aJt" = ( +/obj/structure/sign/directions/security{ + dir = 1; + pixel_x = 32; + pixel_y = 40 + }, +/obj/structure/sign/directions/medical{ + dir = 4; + pixel_x = 32; + pixel_y = 32 + }, +/obj/structure/sign/directions/evac{ + dir = 4; + pixel_x = 32; + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aJu" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aJv" = ( +/obj/structure/sign/poster/official/nanomichi_ad{ + pixel_y = 32 + }, +/obj/machinery/vending/snack/random, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aJw" = ( +/turf/closed/wall, +/area/hallway/primary/central) +"aJx" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/carpet/black, +/area/service/bar) +"aJy" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aJz" = ( +/obj/machinery/button/door{ + id = "Bath3"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 14; + pixel_y = 38; + specialfunctions = 4 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/recharge_station, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"aJA" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Kitchen Maintenance"; + req_access_txt = "28" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aJB" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/maintenance{ + name = "Hydroponics Maintenance"; + req_access_txt = "35" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aJC" = ( +/turf/closed/wall/r_wall/syndicate, +/area/service/bar) +"aJD" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Bar Maintenance"; + req_access_txt = "12" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aJF" = ( +/obj/machinery/newscaster{ + pixel_x = 30 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aJG" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/button/crematorium{ + id = "crematoriumChapel"; + pixel_x = 25 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aJH" = ( +/obj/machinery/door/window/southleft{ + name = "Bar Delivery"; + req_access_txt = "25" + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"aJI" = ( +/turf/closed/wall/r_wall/syndicate, +/area/service/kitchen) +"aJJ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aJK" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=2"; + freq = 1400; + location = "Kitchen" + }, +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/service/kitchen/coldroom) +"aJL" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=2"; + freq = 1400; + location = "Hydroponics" + }, +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/service/hydroponics) +"aJM" = ( +/obj/structure/table/wood, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/item/flashlight/lamp{ + pixel_y = 15 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aJO" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aJP" = ( +/obj/item/folder/yellow, +/obj/item/pen/blue, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aJQ" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aJR" = ( +/obj/structure/sign/poster/contraband/punch_shit, +/turf/closed/wall/r_wall/syndicate, +/area/commons/locker) +"aJS" = ( +/obj/structure/disposalpipe/segment, +/obj/item/paicard, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aJT" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/item/paper_bin{ + pixel_y = 4 + }, +/obj/item/pen/fountain{ + pixel_y = 4 + }, +/turf/open/floor/carpet/black, +/area/service/chapel/office) +"aJU" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/bottle/holywater{ + pixel_x = 9; + pixel_y = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/item/nullrod{ + pixel_x = -15; + pixel_y = 3 + }, +/turf/open/floor/carpet/black, +/area/service/chapel/office) +"aJV" = ( +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/service/chapel/main) +"aJW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aJX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aJY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aJZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Primary Tool Storage" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aKa" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Primary Tool Storage" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aKc" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/nuke_storage) +"aKd" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hallway/primary/port) +"aKe" = ( +/obj/structure/chair/wood/normal{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/service/chapel/main) +"aKf" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc{ + areastring = "/area/construction/mining/aux_base"; + dir = 8; + name = "Auxillary Base Construction APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aKj" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aKk" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aKl" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aKm" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Garden" + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics/garden) +"aKn" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/service/hydroponics/garden) +"aKo" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aKp" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/commons/storage/primary) +"aKq" = ( +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/obj/machinery/camera, +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"aKs" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/commons/storage/primary) +"aKw" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/service/theater) +"aKy" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hallway/primary/port) +"aKz" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"aKA" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hallway/primary/port) +"aKB" = ( +/turf/closed/wall/r_wall/syndicate, +/area/hallway/primary/port) +"aKC" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/service/kitchen/coldroom) +"aKD" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aKE" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aKF" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aKG" = ( +/obj/machinery/vending/snack/random, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aKH" = ( +/obj/structure/sink{ + pixel_y = 30 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aKI" = ( +/obj/structure/closet/secure_closet/hydroponics, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aKL" = ( +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/obj/machinery/camera{ + c_tag = "Hydroponics Storage" + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/plantgenes{ + pixel_y = 6 + }, +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aKM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"aKO" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"aKP" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"aKQ" = ( +/obj/machinery/reagentgrinder, +/obj/structure/table/wood, +/turf/open/floor/carpet/black, +/area/service/bar) +"aKS" = ( +/obj/machinery/camera{ + c_tag = "Bar Storage" + }, +/obj/structure/sink/kitchen{ + pixel_y = 28 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"aKT" = ( +/obj/structure/closet/secure_closet/freezer/meat, +/turf/open/floor/plasteel/dark, +/area/service/kitchen/coldroom) +"aKU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aKV" = ( +/obj/machinery/door/window/southleft{ + name = "Kitchen Delivery"; + req_access_txt = "28" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen/coldroom) +"aKW" = ( +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aKX" = ( +/obj/machinery/door/window/eastright{ + name = "Hydroponics Delivery"; + req_access_txt = "35" + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aKY" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"aKZ" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/camera{ + c_tag = "Chapel Crematorium"; + dir = 4 + }, +/obj/structure/bodycontainer/morgue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aLa" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aLb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock{ + name = "Crematorium"; + req_access_txt = "27" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aLc" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aLd" = ( +/obj/structure/table, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_y = 3 + }, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_x = 13; + pixel_y = 5 + }, +/obj/item/watertank, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aLe" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/chair/wood/normal{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aLf" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aLg" = ( +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aLi" = ( +/obj/structure/chair/comfy/beige, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/grimy, +/area/hallway/secondary/entry) +"aLj" = ( +/obj/structure/chair/comfy/beige, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/grimy, +/area/hallway/secondary/entry) +"aLk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aLl" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aLm" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/camera{ + c_tag = "Port Hallway 2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aLo" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/service/chapel/office) +"aLp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aLq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aLr" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aLt" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/snacks/mint{ + pixel_y = 9 + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"aLu" = ( +/obj/machinery/door/airlock/engineering{ + name = "Auxillary Base Construction"; + req_one_access_txt = "32;47;48" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"aLv" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aLw" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"aLx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aLy" = ( +/obj/structure/chair/comfy/beige, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/grimy, +/area/hallway/secondary/entry) +"aLz" = ( +/turf/open/floor/plasteel/grimy, +/area/hallway/secondary/entry) +"aLA" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = 1; + pixel_y = 5 + }, +/turf/open/floor/plasteel/grimy, +/area/hallway/secondary/entry) +"aLB" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aLC" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aLD" = ( +/obj/machinery/door/firedoor, +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aLE" = ( +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aLF" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aLG" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc{ + areastring = "/area/hallway/primary/port"; + dir = 1; + name = "Port Hall APC"; + pixel_y = 23 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aLH" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aLI" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 5; + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aLK" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aLL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/command/nuke_storage) +"aLM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"aLO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aLP" = ( +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/book/granter/spell/mimery_guns, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"aLQ" = ( +/obj/machinery/camera{ + c_tag = "Central Hallway North-East" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aLR" = ( +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aLT" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"aLU" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/reagent_dispensers/beerkeg, +/turf/open/floor/carpet/black, +/area/service/bar) +"aLV" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aLW" = ( +/obj/machinery/camera{ + c_tag = "Central Hallway North-West" + }, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aLX" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aLY" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aLZ" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L3" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aMa" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L1" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aMb" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L7" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aMc" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L5" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aMd" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L11" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aMe" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L9" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aMf" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L13" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aMg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aMh" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aMi" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/xeno_spawn, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/carpet/black, +/area/service/bar) +"aMj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aMk" = ( +/obj/machinery/chem_master/condimaster{ + name = "CondiMaster Neo" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/service/kitchen/coldroom) +"aMl" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen/coldroom) +"aMm" = ( +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aMn" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aMo" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aMs" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aMt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = -31 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aMu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"aMw" = ( +/obj/machinery/vending/dinnerware{ + contraband = list(/obj/item/reagent_containers/food/condiment/flour = 4); + desc = "This vendor is full of condiments to put on food."; + name = "\improper Condiments Vendor"; + product_ads = "Get your sauces here!;No slave labour was used to make these products!;Nanotrasen Approved?!"; + products = list(/obj/item/storage/bag/tray = 8, /obj/item/reagent_containers/food/drinks/drinkingglass = 10, /obj/item/storage/box/cups = 5, /obj/item/reagent_containers/food/condiment/pack/ketchup = 20, /obj/item/reagent_containers/food/condiment/pack/mustard = 20, /obj/item/reagent_containers/food/condiment/pack/hotsauce = 20, /obj/item/reagent_containers/food/condiment/pack/astrotame = 20, /obj/item/reagent_containers/food/condiment/saltshaker = 20, /obj/item/reagent_containers/food/condiment/peppermill = 20) + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"aMx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"aMy" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aMz" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aMA" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aMB" = ( +/obj/structure/reagent_dispensers/keg/mead, +/turf/open/floor/carpet/black, +/area/service/bar) +"aMC" = ( +/obj/structure/reagent_dispensers/keg/gargle, +/turf/open/floor/carpet/black, +/area/service/bar) +"aMD" = ( +/obj/machinery/icecream_vat, +/turf/open/floor/plasteel/dark, +/area/service/kitchen/coldroom) +"aME" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aMF" = ( +/turf/open/floor/plasteel/dark, +/area/service/kitchen/coldroom) +"aMG" = ( +/obj/structure/closet/crate/hydroponics, +/obj/item/shovel/spade, +/obj/item/wrench, +/obj/item/reagent_containers/glass/bucket, +/obj/item/wirecutters, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aMI" = ( +/obj/machinery/light/small, +/obj/machinery/vending/wardrobe/hydro_wardrobe, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aML" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/chair/wood/wings{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aMN" = ( +/obj/machinery/chem_master/condimaster, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aMO" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/chips, +/obj/item/reagent_containers/food/drinks/soda_cans/cola, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/carpet, +/area/hallway/secondary/entry) +"aMP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/carpet, +/area/hallway/secondary/entry) +"aMR" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aMS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aMT" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aMU" = ( +/obj/effect/turf_decal/bot_white/right, +/obj/structure/closet/crate/goldcrate, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/nuke_storage) +"aMV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aMX" = ( +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"aMY" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aMZ" = ( +/turf/closed/wall/r_wall/syndicate, +/area/hallway/secondary/exit) +"aNa" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hallway/secondary/exit) +"aNb" = ( +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aNc" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aNd" = ( +/obj/structure/table/wood, +/turf/open/floor/plasteel/grimy, +/area/hallway/secondary/entry) +"aNe" = ( +/turf/open/floor/carpet, +/area/hallway/secondary/entry) +"aNf" = ( +/obj/structure/chair/comfy/beige{ + dir = 8 + }, +/turf/open/floor/plasteel/grimy, +/area/hallway/secondary/entry) +"aNg" = ( +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aNh" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aNi" = ( +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aNj" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=CHW"; + location = "Lockers" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aNk" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aNl" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aNm" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aNo" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aNp" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aNq" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aNr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aNs" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aNu" = ( +/obj/structure/table/wood, +/obj/item/paper/fluff{ + info = "Renovation Notice

The bar layout for the station is very old. We've decided to give it a facelift after our partnership with IKEA Intergalactic?.
  • We added some sweet retro arcade machines and much more seating area. We removed the stage since it hasn't ever been used.
  • You can run this place like a restaurant now that you have tables. Go whip up a menu with the Chef. You have a condiments table and your Requests Console has been moved so a noticeboard can be placed there. Take tickets from customers and pin them on the noticeboard for the Chef.
  • We hope you like the new bar!"; + name = "Renovation Notice - Bar"; + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/reagent_containers/food/drinks/shaker, +/obj/item/stack/spacecash/c100, +/obj/item/stack/spacecash/c100, +/turf/open/floor/carpet/black, +/area/service/bar) +"aNv" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L4" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aNw" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aNx" = ( +/obj/effect/landmark/observer_start, +/obj/effect/turf_decal/plaque{ + icon_state = "L8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aNy" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=Lockers"; + location = "EVA" + }, +/obj/effect/turf_decal/plaque{ + icon_state = "L6" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aNz" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L12" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aNA" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=Security"; + location = "EVA2" + }, +/obj/effect/turf_decal/plaque{ + icon_state = "L10" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aNB" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L14" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aNC" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=EVA2"; + location = "Dorm" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aNE" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"aNF" = ( +/obj/structure/chair/comfy/black, +/turf/open/floor/carpet/black, +/area/service/bar) +"aNI" = ( +/obj/machinery/light/small{ + dir = 4; + light_color = "#d8b1b1" + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"aNK" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/mob/living/simple_animal/hostile/retaliate/goat{ + name = "Pete" + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen/coldroom) +"aNL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/service/hydroponics) +"aNM" = ( +/obj/structure/kitchenspike, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen/coldroom) +"aNN" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Hydroponics"; + req_access_txt = "35" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aNO" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/vending/wardrobe/chef_wardrobe, +/turf/open/floor/plasteel/dark, +/area/service/kitchen/coldroom) +"aNP" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aNQ" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/service/hydroponics) +"aNR" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/item/paicard, +/turf/open/floor/carpet, +/area/hallway/secondary/entry) +"aNS" = ( +/obj/machinery/bookbinder, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aNT" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aNU" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Port Hallway"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aNV" = ( +/obj/machinery/photocopier, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aNW" = ( +/obj/structure/sign/poster/contraband/missing_gloves, +/turf/closed/wall/r_wall/syndicate, +/area/commons/storage/primary) +"aNX" = ( +/obj/structure/closet/crate/coffin, +/obj/machinery/door/window/eastright{ + dir = 8; + name = "Coffin Storage"; + req_access_txt = "22" + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aNY" = ( +/obj/machinery/door/poddoor{ + id = "chapelgun"; + name = "Chapel Launcher Door" + }, +/obj/structure/fans/tiny, +/turf/open/floor/plating, +/area/service/chapel/main) +"aNZ" = ( +/obj/structure/chair, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"aOa" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/chair, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"aOb" = ( +/obj/structure/chair, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"aOc" = ( +/obj/structure/chair, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"aOd" = ( +/obj/structure/chair, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"aOe" = ( +/obj/item/beacon, +/obj/machinery/camera{ + c_tag = "Arrivals Bay 1 South" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aOf" = ( +/obj/machinery/vending/snack/random, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aOg" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aOh" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aOi" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/circuit/red, +/area/ai_monitored/command/nuke_storage) +"aOj" = ( +/obj/structure/table/wood, +/obj/item/storage/fancy/cigarettes{ + pixel_y = 2 + }, +/obj/item/lighter/greyscale{ + pixel_x = 4; + pixel_y = 2 + }, +/turf/open/floor/plasteel/grimy, +/area/hallway/secondary/entry) +"aOk" = ( +/obj/machinery/vending/cola/random, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aOl" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aOm" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aOn" = ( +/obj/machinery/light, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aOo" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aOp" = ( +/obj/machinery/camera{ + c_tag = "Port Hallway 3"; + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aOq" = ( +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aOr" = ( +/obj/structure/disposalpipe/junction/flip{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aOs" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/fore) +"aOv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aOw" = ( +/obj/machinery/light, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/nuke_storage) +"aOx" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aOy" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aOz" = ( +/obj/structure/sign/directions/security{ + dir = 4; + pixel_x = 32; + pixel_y = -24 + }, +/obj/structure/sign/directions/evac{ + dir = 4; + pixel_x = 32; + pixel_y = -32 + }, +/obj/structure/sign/directions/engineering{ + pixel_x = 32; + pixel_y = -40 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aOA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aOB" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aOC" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aOD" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=QM"; + location = "CHW" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aOE" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aOF" = ( +/obj/machinery/light, +/obj/structure/sign/warning/electricshock{ + pixel_y = -32 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aOG" = ( +/obj/structure/sign/warning/electricshock{ + pixel_y = -32 + }, +/obj/machinery/door/firedoor, +/obj/machinery/light, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aOH" = ( +/obj/structure/safe, +/obj/item/clothing/head/bearpelt, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka, +/obj/effect/turf_decal/bot_white/left, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/gun/ballistic/revolver/nagant, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/nuke_storage) +"aOI" = ( +/obj/structure/kitchenspike, +/turf/open/floor/plasteel/dark, +/area/service/kitchen/coldroom) +"aOJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"aOL" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"aOM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen/coldroom) +"aON" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen/coldroom) +"aOO" = ( +/obj/machinery/door/airlock{ + name = "Bar Storage"; + req_access_txt = "25" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/carpet/black, +/area/service/bar) +"aOP" = ( +/obj/effect/landmark/blobstart, +/obj/item/toy/beach_ball/holoball, +/turf/open/floor/plating, +/area/service/bar) +"aOQ" = ( +/obj/machinery/requests_console{ + department = "Hydroponics"; + departmentType = 2; + pixel_y = 30 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aOR" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aOS" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/carpet/black, +/area/service/library) +"aOT" = ( +/obj/machinery/gibber, +/turf/open/floor/plasteel/dark, +/area/service/kitchen/coldroom) +"aOU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"aOV" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aOW" = ( +/obj/machinery/hydroponics/constructable, +/obj/machinery/camera{ + c_tag = "Hydroponics North" + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aOX" = ( +/obj/machinery/hydroponics/constructable, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aOY" = ( +/obj/structure/chair/comfy/beige{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/grimy, +/area/hallway/secondary/entry) +"aOZ" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aPa" = ( +/obj/structure/chair/comfy/beige{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/grimy, +/area/hallway/secondary/entry) +"aPb" = ( +/obj/structure/bookcase/random/religion, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aPc" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aPd" = ( +/obj/structure/bookcase/random/reference, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aPe" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aPf" = ( +/obj/machinery/computer/libraryconsole, +/obj/structure/table/wood, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aPg" = ( +/obj/structure/chair/comfy/brown, +/turf/open/floor/carpet/black, +/area/service/library) +"aPk" = ( +/turf/open/floor/plasteel/chapel{ + dir = 4 + }, +/area/service/chapel/main) +"aPl" = ( +/turf/open/floor/plasteel/chapel{ + dir = 1 + }, +/area/service/chapel/main) +"aPm" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/chapel{ + dir = 4 + }, +/area/service/chapel/main) +"aPn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/chapel{ + dir = 1 + }, +/area/service/chapel/main) +"aPo" = ( +/obj/structure/closet/crate/coffin, +/obj/machinery/door/window/eastleft{ + dir = 8; + name = "Coffin Storage"; + req_access_txt = "22" + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aPp" = ( +/obj/machinery/camera{ + c_tag = "Escape Arm Holding Area"; + dir = 4 + }, +/obj/item/radio/intercom{ + dir = 8; + name = "Station Intercom (General)"; + pixel_x = -28 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"aPq" = ( +/obj/effect/turf_decal/caution/stand_clear/red, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aPr" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"aPs" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"aPt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/item/kirbyplants{ + icon_state = "plant-20" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aPu" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aPv" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = 20 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aPx" = ( +/obj/structure/chair/comfy/beige{ + dir = 1 + }, +/turf/open/floor/plasteel/grimy, +/area/hallway/secondary/entry) +"aPy" = ( +/obj/machinery/vending/snack/random, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aPz" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port) +"aPA" = ( +/turf/closed/wall/r_wall/syndicate, +/area/commons/locker) +"aPB" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aPC" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aPD" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aPE" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/r_wall/syndicate, +/area/commons/locker) +"aPF" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/commons/storage/art) +"aPG" = ( +/turf/closed/wall/r_wall/syndicate, +/area/commons/storage/art) +"aPH" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Art Storage" + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/art) +"aPI" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"aPJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/commons/storage/art) +"aPK" = ( +/turf/closed/wall/r_wall/syndicate, +/area/commons/storage/emergency/port) +"aPL" = ( +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aPM" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aPN" = ( +/obj/structure/table, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aPO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"aPQ" = ( +/turf/closed/wall/r_wall/syndicate, +/area/commons/storage/tools) +"aPR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/aft) +"aPS" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "bridge blast door" + }, +/turf/open/floor/plating, +/area/command/bridge) +"aPT" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "bridge blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/command/bridge) +"aPU" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "bridge blast door" + }, +/turf/open/floor/plating, +/area/command/bridge) +"aPV" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "bridge blast door" + }, +/turf/open/floor/plating, +/area/command/bridge) +"aPX" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "bridge blast door" + }, +/turf/open/floor/plating, +/area/command/bridge) +"aPY" = ( +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_x = -3; + pixel_y = 9 + }, +/obj/item/reagent_containers/food/condiment/peppermill{ + dir = 1; + pixel_x = 3; + pixel_y = 9 + }, +/obj/structure/table/reinforced, +/turf/open/floor/carpet/black, +/area/service/bar) +"aPZ" = ( +/obj/item/reagent_containers/food/drinks/britcup, +/obj/structure/table/reinforced, +/turf/open/floor/carpet/black, +/area/service/bar) +"aQa" = ( +/obj/machinery/computer/arcade/battle, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"aQb" = ( +/obj/structure/window{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/obj/structure/chair/sofa/corp/right, +/turf/open/floor/carpet/black, +/area/service/bar) +"aQc" = ( +/turf/open/floor/carpet/black, +/area/service/bar) +"aQd" = ( +/obj/structure/window, +/obj/structure/chair/sofa/corp/left{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"aQe" = ( +/obj/effect/landmark/event_spawn, +/obj/effect/landmark/xmastree, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"aQf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aQg" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/preopen{ + id = "barShutters"; + name = "privacy shutters" + }, +/turf/open/floor/plating, +/area/service/bar) +"aQh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aQi" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"aQj" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/service/kitchen) +"aQk" = ( +/obj/machinery/door/airlock{ + name = "Kitchen cold room"; + req_access_txt = "28" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/showroomfloor, +/area/service/kitchen) +"aQl" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aQm" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aQn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aQo" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aQp" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aQq" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aQr" = ( +/obj/machinery/light/small, +/obj/structure/table/wood/fancy, +/turf/open/floor/carpet/black, +/area/service/library) +"aQs" = ( +/obj/structure/bed, +/obj/item/bedsheet/black, +/turf/open/floor/carpet/black, +/area/service/library) +"aQu" = ( +/turf/open/floor/plasteel/chapel, +/area/service/chapel/main) +"aQv" = ( +/turf/open/floor/plasteel/chapel{ + dir = 8 + }, +/area/service/chapel/main) +"aQw" = ( +/obj/item/trash/candle{ + pixel_x = -5; + pixel_y = 2 + }, +/obj/structure/table/reinforced, +/turf/open/floor/carpet/black, +/area/service/chapel/main) +"aQx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/chapel, +/area/service/chapel/main) +"aQy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/chapel{ + dir = 8 + }, +/area/service/chapel/main) +"aQz" = ( +/obj/structure/closet/crate/coffin, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aQA" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aQB" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"aQC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aQD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aQE" = ( +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aQF" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "Security Escape Airlock"; + req_access_txt = "2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"aQG" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aQH" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aQI" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aQJ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aQK" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aQL" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/port) +"aQM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/port) +"aQN" = ( +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aQO" = ( +/obj/structure/closet/wardrobe/white, +/obj/item/clothing/suit/ghost_sheet, +/obj/item/clothing/suit/ghost_sheet, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aQP" = ( +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/obj/machinery/vending/cigarette, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aQR" = ( +/obj/machinery/vending/cola/pwr_game, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aQS" = ( +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aQT" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aQV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/vending/clothing, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aQW" = ( +/obj/structure/closet/secure_closet/personal, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aQX" = ( +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/vending/kink, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aQY" = ( +/obj/structure/table, +/obj/item/storage/toolbox/artistic{ + pixel_y = 10 + }, +/obj/item/storage/toolbox/artistic, +/obj/item/storage/toolbox/electrical{ + pixel_y = -10 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/art) +"aQZ" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = 27 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/art) +"aRa" = ( +/turf/open/floor/plasteel/dark, +/area/commons/storage/art) +"aRb" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"aRc" = ( +/obj/machinery/door/airlock{ + name = "Port Emergency Storage" + }, +/turf/open/floor/plating, +/area/commons/storage/emergency/port) +"aRd" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aRe" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/commons/storage/tools) +"aRf" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Auxiliary Tool Storage"; + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/storage/tools) +"aRg" = ( +/obj/machinery/vending/boozeomat, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"aRh" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aRi" = ( +/obj/machinery/computer/atmos_alert, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aRj" = ( +/obj/structure/table/reinforced, +/obj/item/storage/secure/briefcase, +/obj/item/storage/box/PDAs{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/box/ids, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aRk" = ( +/obj/machinery/computer/monitor{ + name = "bridge power monitoring console" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aRl" = ( +/obj/machinery/computer/station_alert, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aRm" = ( +/obj/machinery/computer/communications, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aRn" = ( +/obj/machinery/computer/shuttle/labor, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aRo" = ( +/obj/machinery/modular_computer/console/preset/command, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aRp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/computer/shuttle/mining, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aRq" = ( +/obj/machinery/computer/med_data, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aRr" = ( +/obj/machinery/computer/crew, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aRs" = ( +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/emergency, +/obj/item/wrench, +/obj/item/assembly/timer, +/obj/item/assembly/signaler, +/obj/item/assembly/signaler, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aRt" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aRu" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/window, +/obj/effect/landmark/start/assistant, +/obj/structure/chair/sofa/corp/right{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"aRx" = ( +/obj/machinery/computer/arcade/orion_trail, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"aRy" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aRz" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"aRA" = ( +/obj/machinery/vending/dinnerware{ + contraband = list(/obj/item/kitchen/rollingpin = 2, /obj/item/kitchen/knife/butcher = 2, /obj/item/reagent_containers/food/condiment/flour = 4) + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aRB" = ( +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/obj/machinery/camera{ + c_tag = "Kitchen" + }, +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aRC" = ( +/obj/structure/sink/kitchen{ + pixel_y = 28 + }, +/obj/machinery/food_cart, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aRD" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aRE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aRF" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_x = -3; + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aRG" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_x = -3; + pixel_y = 6 + }, +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aRH" = ( +/obj/structure/closet/secure_closet/freezer/kitchen, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aRI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aRK" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/power/apc{ + areastring = "/area/service/library"; + dir = 4; + name = "Library APC"; + pixel_x = 24 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aRL" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Holding Area"; + req_access_txt = "2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"aRM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aRN" = ( +/obj/structure/bookcase/random/fiction, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aRO" = ( +/obj/structure/displaycase/trophy, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aRP" = ( +/obj/machinery/camera{ + c_tag = "Library South"; + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aRQ" = ( +/obj/machinery/door/morgue{ + name = "Private Study"; + req_access_txt = "37" + }, +/turf/open/floor/carpet/black, +/area/service/library) +"aRR" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aRT" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/rack, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/item/electronics/apc, +/obj/item/electronics/airlock, +/turf/open/floor/plasteel/dark, +/area/commons/storage/tools) +"aRU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hallway/secondary/exit) +"aRV" = ( +/obj/machinery/power/apc{ + areastring = "/area/commons/storage/tools"; + dir = 1; + name = "Auxiliary Tool Storage APC"; + pixel_y = 23 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/table, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/rods/fifty, +/turf/open/floor/plasteel/dark, +/area/commons/storage/tools) +"aRW" = ( +/obj/structure/sign/warning/docking, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hallway/secondary/exit) +"aRX" = ( +/obj/machinery/light, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aRY" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aSa" = ( +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/obj/machinery/camera{ + c_tag = "Auxiliary Tool Storage" + }, +/obj/structure/table, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/storage/box/lights/mixed, +/turf/open/floor/plasteel/dark, +/area/commons/storage/tools) +"aSb" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aSc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/storage/tools) +"aSd" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aSe" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aSf" = ( +/obj/machinery/camera{ + c_tag = "Arrivals Hallway"; + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aSg" = ( +/turf/open/floor/plating, +/area/maintenance/port) +"aSh" = ( +/obj/structure/closet/wardrobe/mixed, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_x = -27 + }, +/obj/item/clothing/head/russobluecamohat, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aSi" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aSk" = ( +/obj/structure/table, +/obj/item/stack/cable_coil/random, +/obj/item/stack/cable_coil/random, +/obj/item/stack/cable_coil, +/obj/item/paper_bin/construction, +/obj/item/stack/cable_coil, +/obj/item/pen/fourcolor, +/turf/open/floor/plasteel/dark, +/area/commons/storage/art) +"aSl" = ( +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/obj/item/storage/box/lights/mixed, +/turf/open/floor/plating, +/area/commons/storage/emergency/port) +"aSm" = ( +/turf/open/floor/plating, +/area/commons/storage/emergency/port) +"aSn" = ( +/obj/item/extinguisher, +/turf/open/floor/plating, +/area/commons/storage/emergency/port) +"aSr" = ( +/turf/open/floor/plasteel/dark, +/area/commons/storage/tools) +"aSs" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/commons/storage/tools) +"aSt" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/tools) +"aSu" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aSv" = ( +/obj/structure/table/reinforced, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aSw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aSx" = ( +/obj/structure/chair{ + dir = 1; + name = "Engineering Station" + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aSy" = ( +/obj/structure/chair{ + dir = 1; + name = "Command Station" + }, +/obj/machinery/button/door{ + id = "bridge blast"; + name = "Bridge Blast Door Control"; + pixel_x = 28; + pixel_y = -2; + req_access_txt = "19" + }, +/obj/machinery/keycard_auth{ + pixel_x = 29; + pixel_y = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aSz" = ( +/obj/structure/table/reinforced, +/obj/item/aicard, +/obj/item/multitool, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aSA" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aSB" = ( +/obj/structure/table/reinforced, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aSC" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aSD" = ( +/obj/structure/chair{ + dir = 1; + name = "Crew Station" + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aSE" = ( +/obj/structure/table/reinforced, +/obj/item/storage/fancy/donut_box, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aSF" = ( +/mob/living/carbon/monkey/punpun, +/turf/open/floor/carpet/black, +/area/service/bar) +"aSH" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/table/wood/fancy, +/obj/item/reagent_containers/food/condiment/peppermill{ + pixel_x = -9 + }, +/obj/item/reagent_containers/food/condiment/peppermill{ + dir = 1; + pixel_x = -3 + }, +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_x = -9; + pixel_y = 9 + }, +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_x = -3; + pixel_y = 9 + }, +/obj/item/reagent_containers/food/condiment/pack/ketchup{ + pixel_x = 5 + }, +/obj/item/reagent_containers/food/condiment/pack/ketchup{ + pixel_x = 5 + }, +/obj/item/reagent_containers/food/condiment/pack/ketchup{ + pixel_x = 5 + }, +/obj/item/reagent_containers/food/condiment/pack/hotsauce{ + pixel_x = 10 + }, +/obj/item/reagent_containers/food/condiment/pack/hotsauce{ + pixel_x = 10 + }, +/obj/item/reagent_containers/food/condiment/pack/mustard{ + pixel_x = 10 + }, +/obj/item/reagent_containers/food/condiment/pack/mustard{ + pixel_x = 10 + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"aSI" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Kitchen"; + req_access_txt = "28" + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aSJ" = ( +/obj/effect/landmark/start/cook, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aSK" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aSL" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aSM" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aSN" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aSO" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aSP" = ( +/obj/machinery/smartfridge, +/turf/closed/wall, +/area/service/kitchen) +"aSQ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aSR" = ( +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aSS" = ( +/obj/machinery/seed_extractor, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aST" = ( +/obj/machinery/biogenerator, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aSU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aSV" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aSW" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -27 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/tools) +"aSX" = ( +/obj/machinery/power/apc{ + areastring = "/area/commons/storage/art"; + dir = 1; + name = "Art Storage"; + pixel_y = 23 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"aSY" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/head/that, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"aSZ" = ( +/obj/effect/landmark/start/bartender, +/turf/open/floor/carpet/black, +/area/service/bar) +"aTb" = ( +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aTc" = ( +/obj/machinery/door/window/northright{ + dir = 8; + name = "Library Desk Door"; + req_access_txt = "37" + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aTd" = ( +/obj/machinery/computer/libraryconsole/bookmanagement, +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aTe" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aTf" = ( +/obj/structure/chair/pew/right{ + dir = 1 + }, +/turf/open/floor/plasteel/chapel, +/area/service/chapel/main) +"aTg" = ( +/obj/structure/chair/pew/left{ + dir = 1 + }, +/turf/open/floor/plasteel/chapel{ + dir = 8 + }, +/area/service/chapel/main) +"aTh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/chair/pew/right{ + dir = 1 + }, +/turf/open/floor/plasteel/chapel, +/area/service/chapel/main) +"aTi" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/landmark/start/assistant, +/obj/structure/chair/pew/left{ + dir = 1 + }, +/turf/open/floor/plasteel/chapel{ + dir = 8 + }, +/area/service/chapel/main) +"aTj" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aTk" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aTl" = ( +/obj/machinery/vending/cola/random, +/obj/machinery/status_display/evac{ + layer = 4; + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aTm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aTn" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "Escape Airlock" + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aTo" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + name = "Escape Airlock" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aTr" = ( +/obj/machinery/door/firedoor, +/obj/machinery/status_display/evac{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aTs" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/commons/vacant_room/office) +"aTt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/commons/vacant_room/office) +"aTu" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aTv" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aTw" = ( +/obj/structure/closet/wardrobe/green, +/obj/machinery/light{ + dir = 8 + }, +/obj/item/clothing/under/costume/kilt, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aTy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aTz" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/window{ + dir = 1 + }, +/obj/structure/window{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel, +/area/commons/locker) +"aTB" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aTC" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/window{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel, +/area/commons/locker) +"aTD" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/camera{ + c_tag = "Locker Room East"; + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/table, +/obj/item/reagent_containers/rag/towel/random, +/obj/item/razor, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aTE" = ( +/obj/structure/table, +/obj/item/hand_labeler, +/turf/open/floor/plasteel/dark, +/area/commons/storage/art) +"aTF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/structure/table, +/obj/item/camera_film, +/obj/item/camera, +/turf/open/floor/plasteel/dark, +/area/commons/storage/art) +"aTG" = ( +/obj/structure/table, +/obj/item/storage/crayons, +/obj/item/storage/crayons, +/turf/open/floor/plasteel/dark, +/area/commons/storage/art) +"aTH" = ( +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating, +/area/commons/storage/emergency/port) +"aTI" = ( +/obj/machinery/space_heater, +/turf/open/floor/plating, +/area/commons/storage/emergency/port) +"aTJ" = ( +/obj/machinery/light/small, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/commons/storage/emergency/port) +"aTK" = ( +/obj/structure/rack, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/turf/open/floor/plating, +/area/commons/storage/emergency/port) +"aTL" = ( +/obj/structure/table, +/obj/item/storage/toolbox/artistic{ + icon_state = "yellow"; + item_state = "toolbox_yellow"; + name = "Cable Toolbox"; + pixel_y = 6 + }, +/obj/item/storage/toolbox/emergency, +/turf/open/floor/plasteel/dark, +/area/commons/storage/tools) +"aTM" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/snacks/mint, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aTN" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/condiment/flour, +/obj/item/kitchen/rollingpin, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aTO" = ( +/obj/structure/table, +/obj/item/book/manual/chef_recipes, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aTP" = ( +/obj/structure/rack, +/obj/item/clothing/gloves/color/fyellow, +/obj/item/clothing/suit/hazardvest, +/obj/item/multitool, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plasteel/dark, +/area/commons/storage/tools) +"aTQ" = ( +/turf/closed/wall/r_wall/syndicate, +/area/command/bridge) +"aTR" = ( +/obj/machinery/computer/prisoner/management, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aTS" = ( +/obj/machinery/computer/secure_data, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aTT" = ( +/obj/machinery/computer/security, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aTU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aTV" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aTW" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aTX" = ( +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aTY" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aTZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aUa" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aUb" = ( +/obj/machinery/modular_computer/console/preset/engineering, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aUc" = ( +/obj/structure/table/reinforced, +/obj/item/storage/firstaid/regular, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aUd" = ( +/obj/machinery/computer/security/mining, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aUe" = ( +/obj/machinery/computer/cargo/request, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aUg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/chair/comfy/black, +/turf/open/floor/carpet/black, +/area/service/bar) +"aUh" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/eastleft{ + name = "Hydroponics Desk"; + req_access_txt = "35" + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/service/kitchen) +"aUi" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aUj" = ( +/obj/machinery/vending/hydronutrients, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aUk" = ( +/obj/machinery/vending/hydroseeds{ + slogan_delay = 700 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aUl" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aUm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aUo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aUt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aUv" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aUw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/machinery/light/small, +/turf/open/floor/plasteel/dark, +/area/commons/storage/tools) +"aUx" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aUy" = ( +/obj/machinery/camera{ + c_tag = "Vacant Office"; + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aUz" = ( +/obj/machinery/hydroponics/constructable, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aUA" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aUB" = ( +/obj/structure/bookcase/random/adult, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aUD" = ( +/obj/item/flashlight/lamp/green{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aUE" = ( +/obj/machinery/libraryscanner, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aUF" = ( +/obj/effect/landmark/start/librarian, +/obj/structure/chair/office/dark, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aUG" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aUH" = ( +/obj/effect/landmark/start/assistant, +/obj/structure/chair/pew/right{ + dir = 1 + }, +/turf/open/floor/plasteel/chapel{ + dir = 4 + }, +/area/service/chapel/main) +"aUI" = ( +/obj/structure/chair/pew/left{ + dir = 1 + }, +/turf/open/floor/plasteel/chapel{ + dir = 1 + }, +/area/service/chapel/main) +"aUJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/chair/pew/right{ + dir = 1 + }, +/turf/open/floor/plasteel/chapel{ + dir = 4 + }, +/area/service/chapel/main) +"aUK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/chair/pew/left{ + dir = 1 + }, +/turf/open/floor/plasteel/chapel{ + dir = 1 + }, +/area/service/chapel/main) +"aUL" = ( +/obj/machinery/computer/arcade, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aUM" = ( +/obj/machinery/camera{ + c_tag = "Arrivals Bay 2"; + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aUN" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aUO" = ( +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aUQ" = ( +/obj/structure/table/wood, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aUR" = ( +/obj/structure/table/wood, +/obj/item/pen/red, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aUS" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aUT" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aUU" = ( +/obj/structure/closet/wardrobe/grey, +/obj/machinery/requests_console{ + department = "Locker Room"; + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aUW" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aUY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/commons/locker) +"aUZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aVa" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/structure/closet/toolcloset, +/turf/open/floor/plasteel/dark, +/area/commons/storage/tools) +"aVb" = ( +/obj/structure/sign/warning/electricshock{ + pixel_y = 32 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aVc" = ( +/obj/structure/sign/warning/securearea{ + pixel_x = 32 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "bridge blast door" + }, +/obj/effect/turf_decal/delivery/red, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aVd" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/command/bridge) +"aVe" = ( +/obj/machinery/camera{ + c_tag = "Bridge West"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aVf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aVg" = ( +/obj/structure/chair{ + dir = 1; + name = "Security Station" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aVh" = ( +/obj/machinery/power/apc{ + areastring = "/area/hallway/primary/fore"; + dir = 8; + name = "Fore Primary Hallway APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/camera{ + c_tag = "Fore Primary Hallway"; + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"aVi" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aVj" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aVk" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aVl" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aVm" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aVn" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aVo" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aVp" = ( +/obj/item/beacon, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aVq" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aVr" = ( +/obj/machinery/camera{ + c_tag = "Bridge East"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aVs" = ( +/obj/structure/chair{ + dir = 1; + name = "Logistics Station" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aVt" = ( +/obj/structure/sign/warning/securearea{ + pixel_x = -32 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "bridge blast door" + }, +/obj/effect/turf_decal/delivery/red, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aVu" = ( +/obj/structure/sign/warning/electricshock{ + pixel_y = 32 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aVv" = ( +/obj/machinery/camera{ + c_tag = "Bridge East Entrance" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aVy" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"aVz" = ( +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aVA" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/structure/noticeboard{ + desc = "Tickets for food orders will be placed here. The Chef should make the order and hand it to a waiter, waitress or just let the barkeep serve it."; + name = "Food Orders"; + pixel_y = 26 + }, +/turf/open/floor/plasteel/cafeteria, +/area/service/kitchen) +"aVB" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/condiment/enzyme{ + layer = 5 + }, +/obj/item/stack/packageWrap, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aVC" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aVD" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_x = -9; + pixel_y = 9 + }, +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_x = -3; + pixel_y = 9 + }, +/obj/item/reagent_containers/food/condiment/peppermill{ + dir = 1; + pixel_x = -3 + }, +/obj/item/reagent_containers/food/condiment/peppermill{ + pixel_x = -9 + }, +/obj/item/sharpener{ + pixel_x = 10 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aVE" = ( +/obj/structure/table, +/obj/item/storage/box/donkpockets{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = 5 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aVF" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aVH" = ( +/obj/machinery/processor, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aVI" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aVJ" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aVK" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/landmark/start/botanist, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aVL" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2; + sortType = 16 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"aVM" = ( +/obj/machinery/hydroponics/constructable, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aVN" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"aVO" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/airalarm{ + pixel_y = 25 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"aVQ" = ( +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aVS" = ( +/obj/item/camera_film, +/obj/item/camera_film, +/obj/item/taperecorder, +/obj/item/camera, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aVT" = ( +/obj/item/paper_bin/bundlenatural{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/paper_bin{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/pen/fountain, +/obj/item/pen/fourcolor, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aVU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/chair/pew/left{ + dir = 1 + }, +/turf/open/floor/plasteel/chapel{ + dir = 8 + }, +/area/service/chapel/main) +"aVV" = ( +/obj/machinery/camera{ + c_tag = "Chapel South"; + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"aVW" = ( +/obj/item/radio/intercom{ + pixel_x = -25 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aVX" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"aVY" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/service/library) +"aVZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Library" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/service/library) +"aWa" = ( +/obj/structure/sign/warning/vacuum/external, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"aWb" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/service/library) +"aWc" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"aWd" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/service/library) +"aWe" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Chapel" + }, +/turf/open/floor/carpet/black, +/area/service/chapel/main) +"aWg" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/carpet/black, +/area/service/chapel/main) +"aWh" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/obj/item/beacon, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aWi" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aWj" = ( +/obj/structure/grille, +/obj/structure/window{ + dir = 8 + }, +/obj/structure/window, +/turf/open/floor/plating, +/area/maintenance/port) +"aWk" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aWl" = ( +/obj/structure/grille, +/obj/structure/window{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aWm" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aWn" = ( +/obj/structure/closet/wardrobe/black, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/head/beret/black, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aWp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aWq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aWr" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aWs" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aWt" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aWu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aWv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aWx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aWy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/commons/toilet/locker) +"aWz" = ( +/obj/machinery/power/apc{ + areastring = "/area/commons/storage/emergency/port"; + dir = 1; + name = "Port Emergency Storage APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aWA" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aWB" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Detective Maintenance"; + req_access_txt = "4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aWC" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/cargo/warehouse) +"aWD" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plasteel/dark, +/area/commons/storage/tools) +"aWE" = ( +/obj/machinery/computer/med_data, +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"aWF" = ( +/obj/structure/closet/toolcloset, +/turf/open/floor/plasteel/dark, +/area/commons/storage/tools) +"aWG" = ( +/obj/machinery/computer/secure_data, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"aWH" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aWI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "bridge blast door" + }, +/obj/effect/turf_decal/delivery/red, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aWJ" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge"; + req_access_txt = "19" + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aWK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aWL" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge"; + req_access_txt = "19" + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aWM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aWN" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aWO" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 5; + pixel_y = -32 + }, +/obj/machinery/light, +/obj/machinery/light_switch{ + pixel_x = -6; + pixel_y = -22 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aWP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aWQ" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aWR" = ( +/obj/structure/fireaxecabinet{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aWS" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aWT" = ( +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Bridge"; + departmentType = 5; + name = "Bridge RC"; + pixel_y = -30 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aWU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aWV" = ( +/obj/machinery/turretid{ + control_area = "/area/ai_monitored/turret_protected/ai_upload"; + name = "AI Upload turret control"; + pixel_y = -25 + }, +/obj/machinery/camera{ + c_tag = "Bridge Center"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aWW" = ( +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/command/bridge"; + name = "Bridge APC"; + pixel_y = -24 + }, +/obj/structure/cable, +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aWX" = ( +/obj/machinery/newscaster{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aWY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aWZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aXa" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aXb" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "bridge blast door" + }, +/obj/effect/turf_decal/delivery/red, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aXc" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge"; + req_access_txt = "19" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aXd" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aXe" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge"; + req_access_txt = "19" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aXf" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aXg" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aXh" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aXi" = ( +/obj/structure/window{ + dir = 1 + }, +/obj/structure/chair/sofa/corp/right, +/turf/open/floor/carpet/black, +/area/service/bar) +"aXj" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/item/paper_bin/bundlenatural{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/pen/fountain{ + pixel_x = 6 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/item/pen/fourcolor, +/turf/open/floor/carpet/black, +/area/service/bar) +"aXk" = ( +/obj/structure/table/reinforced, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_x = 32 + }, +/obj/item/book/manual/wiki/barman_recipes, +/obj/item/reagent_containers/rag, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/carpet/black, +/area/service/bar) +"aXl" = ( +/obj/machinery/door/window/southright{ + name = "Bar Door"; + req_one_access_txt = "25;28" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/carpet/black, +/area/service/bar) +"aXm" = ( +/obj/effect/landmark/start/cook, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aXn" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder, +/obj/machinery/requests_console{ + department = "Kitchen"; + departmentType = 2; + pixel_x = 30 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aXo" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aXq" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"aXr" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/window{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/commons/locker) +"aXt" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/commons/locker) +"aXu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/service/library) +"aXv" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/commons/locker) +"aXw" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/structure/window{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/commons/locker) +"aXy" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Chapel" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/service/chapel/main) +"aXz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/carpet/black, +/area/service/chapel/main) +"aXB" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/service/chapel/main) +"aXC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aXD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aXE" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/cargo/warehouse) +"aXF" = ( +/obj/structure/sign/warning/fire{ + desc = "A sign that states the labeled room's number."; + dir = 10; + icon_state = "roomnum"; + name = "Room Number 6"; + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/washing_machine{ + pixel_x = 7; + pixel_y = 7 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"aXG" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/item/kirbyplants{ + icon_state = "plant-05" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aXI" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "Port Docking Bay 2" + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"aXJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/cargo/warehouse) +"aXK" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/security/detectives_office) +"aXL" = ( +/obj/machinery/light/small{ + dir = 1; + light_color = "#ffc1c1" + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"aXM" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/machinery/door/airlock/maintenance{ + name = "Cargo Bay Warehouse Maintenance"; + req_access_txt = "31" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aXN" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aXP" = ( +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating, +/area/maintenance/port) +"aXQ" = ( +/turf/closed/wall/r_wall/syndicate, +/area/commons/toilet/locker) +"aXR" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"aXS" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/closed/wall/r_wall/syndicate, +/area/service/hydroponics) +"aXT" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Library" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/service/library) +"aXU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/service/library) +"aXV" = ( +/obj/machinery/holopad, +/turf/open/floor/carpet/black, +/area/service/library) +"aXW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/carpet/black, +/area/service/chapel/main) +"aXX" = ( +/obj/machinery/door/airlock/engineering/abandoned{ + abandoned = 0; + name = "Vacant Office A"; + req_access_txt = "32" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aXY" = ( +/obj/structure/chair/office/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aXZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aYb" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aYc" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/port"; + dir = 8; + name = "Port Maintenance APC"; + pixel_x = -25; + pixel_y = 2 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aYd" = ( +/obj/structure/chair/office/dark, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aYf" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aYg" = ( +/obj/effect/landmark/xeno_spawn, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/construction) +"aYi" = ( +/obj/structure/closet/secure_closet/detective, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"aYj" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/button/door{ + id = "kanyewest"; + name = "Privacy Shutters"; + pixel_y = 24 + }, +/obj/machinery/vending/wardrobe/det_wardrobe, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"aYk" = ( +/obj/machinery/light, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aYl" = ( +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aYm" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aYn" = ( +/obj/machinery/camera{ + c_tag = "Bridge West Entrance"; + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aYo" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "bridge blast door" + }, +/obj/effect/turf_decal/delivery/red, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aYp" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/command/bridge) +"aYq" = ( +/obj/structure/closet/emcloset, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aYr" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -29 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aYs" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aYt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai_upload) +"aYu" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aYv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai_upload) +"aYw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/highsecurity{ + name = "AI Upload Access"; + req_access_txt = "16" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"aYx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai_upload) +"aYy" = ( +/obj/machinery/status_display/ai, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai_upload) +"aYz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai_upload) +"aYA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai_upload) +"aYB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai_upload) +"aYC" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/structure/filingcabinet/filingcabinet, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aYD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"aYE" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aYF" = ( +/obj/machinery/power/apc{ + areastring = "/area/hallway/primary/central"; + name = "Central Hall APC"; + pixel_y = -24 + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aYG" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aYJ" = ( +/obj/machinery/light_switch{ + pixel_y = -25 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aYK" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock{ + name = "Kitchen"; + req_access_txt = "28" + }, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/service/kitchen) +"aYL" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aYM" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/button/door{ + id = "kitchen"; + name = "Kitchen Shutters Control"; + pixel_x = -1; + pixel_y = -24; + req_access_txt = "28" + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aYN" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"aYO" = ( +/obj/item/reagent_containers/glass/bucket, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aYQ" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aYR" = ( +/obj/structure/chair/stool, +/obj/effect/landmark/start/botanist, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aYS" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/structure/window, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/commons/locker) +"aYT" = ( +/obj/machinery/camera{ + c_tag = "Hydroponics South"; + dir = 8 + }, +/obj/structure/reagent_dispensers/watertank/high, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"aYU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aYW" = ( +/turf/open/floor/carpet/black, +/area/service/library) +"aYY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/service/library) +"aYZ" = ( +/obj/structure/table/wood, +/obj/item/storage/box/evidence, +/obj/item/hand_labeler{ + pixel_x = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/item/taperecorder, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"aZa" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"aZb" = ( +/obj/machinery/camera{ + c_tag = "Bar South"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"aZc" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"aZd" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/item/kirbyplants{ + icon_state = "plant-08" + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"aZe" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Chapel" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/service/chapel/main) +"aZf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/service/chapel/main) +"aZg" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/carpet/black, +/area/service/chapel/main) +"aZh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/carpet/black, +/area/service/chapel/main) +"aZi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aZj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aZk" = ( +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aZl" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aZm" = ( +/obj/machinery/camera{ + c_tag = "Escape Arm Airlocks"; + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"aZn" = ( +/obj/structure/table/wood, +/obj/item/folder/blue, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"aZp" = ( +/obj/structure/rack, +/obj/item/electronics/apc, +/obj/item/stock_parts/cell{ + maxcharge = 2000 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"aZq" = ( +/obj/machinery/button/door{ + id = "heads_meeting"; + name = "Security Shutters"; + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"aZr" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aZs" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aZt" = ( +/obj/structure/toilet/secret/low_loot{ + dir = 4 + }, +/obj/structure/mirror{ + pixel_y = 32 + }, +/obj/structure/sink{ + pixel_y = 25 + }, +/obj/machinery/button/door{ + id = "LockerShitter1"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 14; + pixel_y = 38; + specialfunctions = 4 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet/locker) +"aZu" = ( +/obj/machinery/photocopier, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"aZv" = ( +/obj/machinery/door/airlock{ + id_tag = "LockerShitter1"; + name = "Unit 1" + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet/locker) +"aZy" = ( +/obj/machinery/camera{ + c_tag = "Conference Room" + }, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"aZz" = ( +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"aZA" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aZB" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"aZC" = ( +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"aZD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aZE" = ( +/turf/closed/wall/r_wall/syndicate, +/area/cargo/storage) +"aZF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/cargo/warehouse) +"aZG" = ( +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"aZH" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "packageSort2" + }, +/turf/open/floor/plating, +/area/cargo/sorting) +"aZI" = ( +/obj/structure/rack, +/obj/item/stack/sheet/cardboard, +/obj/item/stack/rods/fifty, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"aZJ" = ( +/obj/structure/table/wood, +/obj/item/camera/detective, +/turf/open/floor/carpet/black, +/area/security/detectives_office) +"aZK" = ( +/turf/closed/wall/r_wall/syndicate, +/area/cargo/sorting) +"aZL" = ( +/obj/machinery/light_switch{ + pixel_x = 27 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"aZM" = ( +/turf/closed/wall/r_wall/syndicate, +/area/command/meeting_room) +"aZN" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aZO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/command/meeting_room) +"aZQ" = ( +/obj/machinery/door/airlock/command{ + name = "Conference Room"; + req_access_txt = "19" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"aZR" = ( +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai_upload) +"aZS" = ( +/obj/machinery/porta_turret/ai{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"aZT" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"aZU" = ( +/obj/machinery/porta_turret/ai{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"aZV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"aZW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/command/heads_quarters/captain) +"aZX" = ( +/obj/machinery/door/airlock/command{ + name = "Captain's Office"; + req_access_txt = "20" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"aZY" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"aZZ" = ( +/obj/structure/chair/sofa/corp{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"baa" = ( +/obj/effect/landmark/start/assistant, +/obj/structure/chair/sofa/corp/right{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"bab" = ( +/obj/machinery/light, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"bac" = ( +/obj/structure/noticeboard{ + pixel_y = -27 + }, +/obj/structure/chair/sofa/corp/left{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"bad" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"baf" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bah" = ( +/obj/structure/extinguisher_cabinet{ + pixel_y = -30 + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"bai" = ( +/obj/machinery/light/small, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"baj" = ( +/obj/structure/table/reinforced, +/obj/item/storage/fancy/donut_box, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchen"; + name = "kitchen shutters" + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"bak" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchen"; + name = "kitchen shutters" + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"bal" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"bam" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/service/hydroponics) +"ban" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/northleft{ + name = "Hydroponics Desk"; + req_access_txt = "35" + }, +/turf/open/floor/plasteel, +/area/service/hydroponics) +"bao" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = 32 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"bap" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/westright{ + dir = 1; + name = "Hydroponics Desk"; + req_access_txt = "35" + }, +/turf/open/floor/plasteel, +/area/service/hydroponics) +"baq" = ( +/obj/machinery/status_display/ai{ + pixel_y = 32 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"bar" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bas" = ( +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/dark, +/area/service/library) +"bat" = ( +/obj/item/pen/red, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/service/library) +"bau" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"bav" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"bax" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"bay" = ( +/obj/structure/chair/comfy/black, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/command/meeting_room) +"baz" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"baA" = ( +/turf/open/floor/carpet/black, +/area/service/chapel/main) +"baB" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"baC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"baD" = ( +/obj/machinery/power/apc{ + areastring = "/area/hallway/secondary/exit"; + dir = 8; + name = "Escape Hallway APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"baE" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"baF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"baG" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"baH" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"baI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/command/meeting_room) +"baJ" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -29 + }, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"baK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/command/meeting_room) +"baL" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"baM" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/power/apc{ + areastring = "/area/commons/toilet/locker"; + dir = 4; + name = "Locker Restrooms APC"; + pixel_x = 24; + pixel_y = 2 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"baN" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"baP" = ( +/obj/structure/table/wood, +/obj/item/storage/fancy/donut_box, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"baQ" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"baR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"baS" = ( +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"baT" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"baU" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"baV" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + name = "Detective's Office"; + req_access_txt = "4" + }, +/turf/open/floor/plasteel/grimy, +/area/security/detectives_office) +"baW" = ( +/obj/item/storage/secure/safe{ + pixel_x = -23 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"baX" = ( +/obj/structure/chair/comfy/brown, +/obj/effect/landmark/start/detective, +/turf/open/floor/carpet/black, +/area/security/detectives_office) +"baY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/closet/crate, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"baZ" = ( +/obj/machinery/status_display/evac{ + layer = 4; + pixel_y = 32 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bba" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bbb" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"bbc" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bbd" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"bbe" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bbf" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bbg" = ( +/obj/effect/landmark/blobstart, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"bbh" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"bbi" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"bbj" = ( +/obj/structure/table, +/obj/item/ai_module/reset, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"bbk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai_upload) +"bbl" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"bbm" = ( +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"bbn" = ( +/obj/structure/table, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"bbo" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bbp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai_upload) +"bbs" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"bbt" = ( +/obj/structure/closet/crate, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"bbu" = ( +/obj/machinery/power/apc{ + areastring = "/area/command/heads_quarters/captain"; + dir = 1; + name = "Captain's Office APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bbv" = ( +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"bbw" = ( +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bbx" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Diner" + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"bby" = ( +/obj/structure/sign/barsign, +/turf/closed/wall/r_wall/syndicate, +/area/service/bar) +"bbz" = ( +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bbA" = ( +/obj/machinery/camera{ + c_tag = "Starboard Primary Hallway 2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bbB" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Hydroponics"; + req_access_txt = "35" + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"bbC" = ( +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/carpet/black, +/area/command/meeting_room) +"bbD" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/service/library) +"bbE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/service/library) +"bbF" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/service/chapel/main) +"bbG" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"bbH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"bbI" = ( +/obj/machinery/power/apc{ + areastring = "/area/commons/vacant_room/office"; + dir = 8; + name = "Vacant Office APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bbJ" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bbK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"bbL" = ( +/obj/machinery/door/airlock{ + id_tag = "LockerShitter2"; + name = "Unit 2" + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet/locker) +"bbM" = ( +/obj/item/book/manual/wiki/security_space_law, +/obj/structure/table/wood, +/turf/open/floor/carpet/black, +/area/command/meeting_room) +"bbO" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/cafeteria, +/area/commons/locker) +"bbP" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"bbQ" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/bottle/whiskey{ + pixel_x = 3 + }, +/obj/item/lighter, +/obj/item/restraints/handcuffs, +/turf/open/floor/carpet/black, +/area/security/detectives_office) +"bbR" = ( +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bbS" = ( +/obj/structure/closet/crate, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"bbT" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green, +/turf/open/floor/carpet/black, +/area/security/detectives_office) +"bbV" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bbW" = ( +/obj/machinery/door/poddoor/preopen{ + id = "heads_meeting"; + name = "privacy shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/command/meeting_room) +"bbX" = ( +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"bbY" = ( +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"bca" = ( +/turf/open/floor/carpet/black, +/area/command/meeting_room) +"bcb" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bcc" = ( +/obj/machinery/vending/snack/random, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"bcd" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"bce" = ( +/obj/structure/table, +/obj/item/ai_module/supplied/quarantine, +/obj/machinery/camera/motion{ + dir = 4; + network = list("aiupload") + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"bcf" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/holopad/secure, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"bcg" = ( +/obj/structure/table, +/obj/item/ai_module/supplied/freeform, +/obj/structure/sign/plaques/kiddie{ + pixel_x = 32 + }, +/obj/machinery/camera/motion{ + dir = 8; + network = list("aiupload") + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"bch" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bci" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bcj" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/junction{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bck" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bcl" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal) +"bcm" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"bcn" = ( +/obj/structure/displaycase/captain, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bco" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=Dorm"; + location = "HOP2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bcp" = ( +/obj/structure/sign/directions/evac{ + dir = 4; + pixel_x = 32; + pixel_y = 28 + }, +/obj/structure/sign/directions/security{ + dir = 1; + pixel_x = 32; + pixel_y = 36 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bcq" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bcr" = ( +/obj/machinery/camera{ + c_tag = "Starboard Primary Hallway" + }, +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bcs" = ( +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bcu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/maintenance{ + name = "Locker Room Maintenance"; + req_access_txt = "12" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bcv" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bcw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/commons/locker) +"bcx" = ( +/obj/machinery/camera{ + c_tag = "Starboard Primary Hallway 5" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bcy" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"bcz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"bcA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"bcB" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"bcC" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"bcD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"bcE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"bcF" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"bcG" = ( +/obj/structure/table/wood, +/obj/machinery/computer/security/wooden_tv, +/turf/open/floor/carpet/black, +/area/security/detectives_office) +"bcH" = ( +/obj/structure/table/wood, +/obj/item/storage/fancy/cigarettes, +/obj/item/clothing/glasses/sunglasses, +/turf/open/floor/carpet/black, +/area/security/detectives_office) +"bcI" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/maintenance/port) +"bcJ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/structure/closet/crate/freezer, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"bcK" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/port) +"bcL" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bcM" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"bcN" = ( +/obj/item/folder/blue, +/obj/structure/table/wood, +/turf/open/floor/carpet/black, +/area/command/meeting_room) +"bcP" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"bcQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"bcR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"bcS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"bcU" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/bar) +"bcV" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/filingcabinet, +/obj/structure/disposalpipe/segment, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"bcX" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "heads_meeting"; + name = "privacy shutters" + }, +/turf/open/floor/plating, +/area/command/meeting_room) +"bcY" = ( +/obj/item/hand_labeler, +/obj/item/assembly/timer, +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"bcZ" = ( +/obj/structure/table/wood, +/obj/item/radio/intercom{ + dir = 8; + freerange = 1; + name = "Station Intercom (Command)" + }, +/turf/open/floor/carpet/black, +/area/command/meeting_room) +"bda" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/command/meeting_room) +"bdd" = ( +/obj/machinery/vending/cola/random, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"bde" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"bdf" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/porta_turret/ai{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"bdg" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai_upload) +"bdh" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"bdi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/vending/wardrobe/cap_wardrobe, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bdj" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bdk" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bdl" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bdm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bdn" = ( +/obj/machinery/camera{ + c_tag = "Central Hallway East"; + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/status_display/evac{ + pixel_x = -32 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bdo" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bdq" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bdr" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) +"bds" = ( +/obj/machinery/camera{ + c_tag = "Starboard Primary Hallway 4"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bdt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bdu" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bdv" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=HOP2"; + location = "Stbd" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bdw" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"bdx" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bdy" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"bdz" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"bdA" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "Cargo Escape Airlock" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"bdB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bdC" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 1; + sortType = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bdD" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bdE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/sign/poster/contraband/have_a_puff{ + pixel_y = -32 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"bdF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/command/meeting_room) +"bdG" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"bdH" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"bdI" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/command/meeting_room) +"bdK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/holopad/secure, +/turf/open/floor/carpet/black, +/area/command/meeting_room) +"bdN" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/medical/surgery) +"bdO" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bdP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/science/robotics/mechbay) +"bdQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal) +"bdR" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bdS" = ( +/obj/structure/closet/crate/internals, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"bdT" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/disposal"; + dir = 8; + name = "Disposal APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bdU" = ( +/obj/structure/closet/crate/medical, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"bdX" = ( +/obj/item/storage/fancy/donut_box, +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"bdY" = ( +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/obj/structure/table/wood, +/turf/open/floor/carpet/black, +/area/command/meeting_room) +"bdZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"bea" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"beb" = ( +/obj/structure/table, +/obj/item/ai_module/core/full/asimov, +/obj/item/ai_module/core/freeformcore, +/obj/machinery/door/window{ + base_state = "right"; + dir = 4; + icon_state = "right"; + name = "Core Modules"; + req_access_txt = "20" + }, +/obj/structure/window/reinforced, +/obj/effect/spawner/lootdrop/aimodule_harmless, +/obj/effect/spawner/lootdrop/aimodule_neutral, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/item/ai_module/core/full/custom, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"bec" = ( +/obj/machinery/light, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"bed" = ( +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/ai_monitored/turret_protected/ai_upload"; + name = "Upload APC"; + pixel_y = -24 + }, +/obj/structure/cable, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai_upload) +"bee" = ( +/obj/machinery/computer/upload/ai{ + dir = 1 + }, +/obj/machinery/flasher{ + id = "AI"; + pixel_y = -21 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai_upload) +"bef" = ( +/obj/machinery/computer/upload/borg{ + dir = 1 + }, +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1447; + listening = 0; + name = "Station Intercom (AI Private)"; + pixel_y = -29 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai_upload) +"beg" = ( +/obj/structure/table, +/obj/item/ai_module/supplied/oxygen, +/obj/item/ai_module/zeroth/oneHuman, +/obj/machinery/door/window{ + dir = 8; + name = "High-Risk Modules"; + req_access_txt = "20" + }, +/obj/item/ai_module/reset/purge, +/obj/structure/window/reinforced, +/obj/effect/spawner/lootdrop/aimodule_harmful, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/item/ai_module/supplied/protectStation, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"beh" = ( +/obj/machinery/light, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"bej" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bek" = ( +/obj/structure/chair, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bel" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bem" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"ben" = ( +/obj/structure/table/wood, +/obj/machinery/camera{ + c_tag = "Captain's Office"; + dir = 8 + }, +/obj/item/storage/lockbox/medal, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"beo" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=Stbd"; + location = "HOP" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bep" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"beq" = ( +/obj/structure/sign/directions/medical{ + dir = 4; + pixel_x = 32; + pixel_y = -24 + }, +/obj/structure/sign/directions/science{ + dir = 4; + pixel_x = 32; + pixel_y = -32 + }, +/obj/structure/sign/directions/engineering{ + pixel_x = 32; + pixel_y = -40 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"ber" = ( +/obj/structure/extinguisher_cabinet{ + pixel_y = -30 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bes" = ( +/obj/machinery/light, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bet" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"beu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bev" = ( +/obj/machinery/light, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/sign/directions/evac{ + dir = 4; + pixel_y = -25 + }, +/obj/structure/sign/directions/science{ + dir = 4; + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bew" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bex" = ( +/obj/machinery/button/door{ + id = "qm_warehouse"; + name = "Warehouse Door Control"; + pixel_x = -1; + pixel_y = -24; + req_access_txt = "31" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/obj/structure/closet/crate, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"bez" = ( +/obj/machinery/power/apc{ + areastring = "/area/hallway/primary/starboard"; + name = "Starboard Primary Hallway APC"; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"beA" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "packageSort2" + }, +/obj/structure/plasticflaps, +/turf/open/floor/plating, +/area/cargo/sorting) +"beB" = ( +/obj/machinery/camera{ + c_tag = "Starboard Primary Hallway 3"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"beC" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"beD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/structure/closet/crate, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"beE" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"beF" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"beG" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"beH" = ( +/obj/machinery/newscaster{ + pixel_y = -32 + }, +/obj/machinery/light, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"beI" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 5; + pixel_y = -32 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"beJ" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"beK" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external{ + name = "Port Docking Bay 4" + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"beL" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external{ + name = "Port Docking Bay 3" + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"beM" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"beN" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -29 + }, +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"beO" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal) +"beP" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "garbage" + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"beQ" = ( +/obj/structure/disposaloutlet{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"beR" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "garbage" + }, +/obj/machinery/recycler, +/obj/structure/sign/warning/securearea{ + name = "\improper STAY CLEAR HEAVY MACHINERY"; + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"beS" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "garbage" + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"beT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal) +"beU" = ( +/obj/machinery/conveyor{ + dir = 6; + id = "garbage" + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"beV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/cargo/sorting) +"beW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/table/reinforced, +/obj/item/stack/wrapping_paper{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/item/stack/packageWrap{ + pixel_x = -1; + pixel_y = -1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"beX" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"beY" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"beZ" = ( +/obj/machinery/mineral/stacking_unit_console{ + machinedir = 8 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal) +"bfb" = ( +/obj/machinery/computer/pod/old{ + density = 0; + icon = 'icons/obj/airlock_machines.dmi'; + icon_state = "airlock_control_standby"; + id = "chapelgun"; + name = "Mass Driver Controller"; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"bfc" = ( +/obj/machinery/power/apc{ + areastring = "/area/commons/locker"; + dir = 1; + name = "Locker Room APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bfd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/maintenance/port) +"bfe" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"bff" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bfg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/item/stack/sheet/cardboard, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"bfh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/small, +/turf/open/floor/plating, +/area/maintenance/port) +"bfi" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"bfj" = ( +/obj/structure/disposalpipe/trunk, +/obj/structure/disposaloutlet{ + dir = 4 + }, +/turf/open/floor/plating, +/area/cargo/sorting) +"bfl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"bfm" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/cargo/office) +"bfn" = ( +/obj/machinery/disposal/deliveryChute{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plating, +/area/cargo/sorting) +"bfo" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bfp" = ( +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Bridge"; + departmentType = 5; + name = "Bridge RC"; + pixel_y = -30 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"bfq" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"bft" = ( +/obj/machinery/status_display/ai, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai_upload) +"bfu" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai_upload) +"bfx" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai_upload) +"bfy" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Captain's Desk"; + departmentType = 5; + name = "Captain RC"; + pixel_x = -30 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bfA" = ( +/obj/structure/table/wood, +/obj/item/hand_tele, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bfB" = ( +/obj/structure/table/wood, +/obj/item/folder/blue, +/obj/item/stamp/captain, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bfC" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bfD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bfE" = ( +/obj/structure/table/wood, +/obj/item/pinpointer/nuke, +/obj/item/disk/nuclear, +/obj/item/storage/secure/safe{ + pixel_x = 35; + pixel_y = 5 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bfF" = ( +/turf/closed/wall, +/area/medical/chemistry) +"bfG" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/medical/medbay/lobby) +"bfH" = ( +/obj/structure/sign/departments/medbay/alt, +/turf/closed/wall/r_wall/syndicate, +/area/medical/medbay/lobby) +"bfI" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bfJ" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bfK" = ( +/turf/closed/wall/r_wall/syndicate, +/area/security/checkpoint/medical) +"bfL" = ( +/turf/closed/wall/r_wall/syndicate, +/area/medical/morgue) +"bfM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"bfN" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"bfO" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/paramedic) +"bfQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/cargo/sorting) +"bfR" = ( +/obj/structure/table/reinforced, +/obj/item/hand_labeler{ + pixel_y = 8 + }, +/obj/item/hand_labeler{ + pixel_y = 8 + }, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/item/storage/box, +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"bfS" = ( +/turf/closed/wall/r_wall/syndicate, +/area/commons/storage/emergency/starboard) +"bfT" = ( +/turf/closed/wall/r_wall/syndicate, +/area/science/robotics/mechbay) +"bfU" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bfV" = ( +/turf/closed/wall/r_wall/syndicate, +/area/science/robotics/lab) +"bfW" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/item/kirbyplants{ + icon_state = "plant-13" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bfX" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bfY" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -29 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bfZ" = ( +/obj/structure/sign/warning/securearea{ + pixel_y = -32 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bga" = ( +/obj/machinery/light, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/machinery/lapvend, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bgb" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/item/kirbyplants{ + icon_state = "plant-10" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bgc" = ( +/turf/closed/wall/r_wall/syndicate, +/area/science/lab) +"bgd" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"bge" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"bgf" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"bgg" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"bgh" = ( +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"bgi" = ( +/obj/machinery/camera{ + c_tag = "Arrivals Bay 3 & 4"; + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"bgj" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "garbage" + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"bgk" = ( +/obj/machinery/conveyor{ + dir = 10; + id = "garbage" + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"bgm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bgn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bgo" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc{ + areastring = "/area/science/robotics/mechbay"; + dir = 4; + name = "Mech Bay APC"; + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) +"bgp" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/science) +"bgq" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"bgt" = ( +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/port) +"bgu" = ( +/obj/machinery/button/door{ + id = "qm_warehouse"; + name = "Warehouse Door Control"; + pixel_x = -1; + pixel_y = 24; + req_access_txt = "31" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bgv" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall/r_wall/syndicate, +/area/cargo/office) +"bgw" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"bgy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/closed/wall/r_wall/syndicate, +/area/cargo/warehouse) +"bgz" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bgA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"bgB" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/closed/wall/r_wall/syndicate, +/area/cargo/sorting) +"bgC" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/closed/wall/r_wall/syndicate, +/area/cargo/sorting) +"bgD" = ( +/obj/machinery/conveyor_switch/oneway{ + id = "packageSort2" + }, +/obj/machinery/camera{ + c_tag = "Cargo Delivery Office"; + dir = 4 + }, +/obj/machinery/requests_console{ + department = "Cargo Bay"; + departmentType = 2; + pixel_x = -30 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"bgE" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"bgF" = ( +/obj/structure/table/glass, +/obj/machinery/reagentgrinder, +/obj/structure/extinguisher_cabinet{ + pixel_x = -27 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bgG" = ( +/obj/machinery/camera{ + c_tag = "Central Hallway West"; + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bgH" = ( +/obj/machinery/door/window/eastright{ + dir = 1; + name = "Bridge Delivery"; + req_access_txt = "19" + }, +/obj/effect/turf_decal/delivery/red, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"bgI" = ( +/obj/machinery/computer/slot_machine, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"bgJ" = ( +/obj/structure/reagent_dispensers/water_cooler, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"bgK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"bgL" = ( +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"bgM" = ( +/obj/structure/sign/warning/securearea, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/command/nuke_storage) +"bgN" = ( +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"bgO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/gravity_generator) +"bgQ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"bgX" = ( +/obj/structure/table/wood, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/item/camera, +/obj/item/storage/photo_album{ + pixel_y = -10 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bgY" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bgZ" = ( +/obj/machinery/power/apc{ + areastring = "/area/medical/chemistry"; + dir = 1; + name = "Chemistry APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bha" = ( +/obj/machinery/vending/wardrobe/chem_wardrobe, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bhb" = ( +/obj/machinery/chem_dispenser, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bhc" = ( +/obj/machinery/camera{ + c_tag = "Chemistry" + }, +/obj/machinery/chem_heater, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bhd" = ( +/obj/machinery/chem_master, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bhe" = ( +/obj/structure/chair, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"bhg" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bhi" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/checkpoint/medical) +"bhj" = ( +/obj/machinery/camera{ + c_tag = "Security Post - Medbay" + }, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + pixel_y = 30 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/medical) +"bhk" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/pen, +/obj/machinery/button/door{ + desc = "A remote control switch for the medbay foyer."; + id = "MedbayFoyer"; + name = "Medbay Doors Control"; + normaldoorcontrol = 1; + pixel_y = 26; + req_access_txt = "5" + }, +/obj/item/book/manual/wiki/security_space_law, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/medical) +"bhl" = ( +/obj/structure/filingcabinet, +/obj/machinery/newscaster{ + pixel_x = 32 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/medical) +"bhm" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/power/apc{ + areastring = "/area/medical/morgue"; + dir = 1; + name = "Morgue APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"bhn" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/bodycontainer/morgue, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"bho" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"bhp" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc{ + areastring = "/area/medical/paramedic"; + dir = 8; + name = "Paramedic's Office APC"; + pixel_x = -25 + }, +/obj/machinery/computer/crew{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/paramedic) +"bhq" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/effect/landmark/start/paramedic, +/obj/structure/chair/stool, +/turf/open/floor/plasteel/dark, +/area/medical/paramedic) +"bhr" = ( +/turf/closed/wall/r_wall/syndicate, +/area/service/kitchen/coldroom) +"bhs" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/medical) +"bht" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + name = "Mech Bay"; + req_access_txt = "29" + }, +/turf/open/floor/plasteel, +/area/science/robotics/mechbay) +"bhu" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters{ + id = "Skynet_launch"; + name = "mech bay" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"bhv" = ( +/obj/machinery/airalarm{ + pixel_y = 25 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bhw" = ( +/obj/machinery/computer/rdconsole/robotics, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bhx" = ( +/obj/machinery/requests_console{ + department = "Robotics"; + departmentType = 2; + name = "Robotics RC"; + pixel_y = 30; + receive_ore_updates = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/rnd/production/circuit_imprinter, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bhy" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "robotics"; + name = "robotics lab shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science/robotics/lab) +"bhz" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/eastright{ + base_state = "left"; + dir = 2; + icon_state = "left"; + name = "Robotics Desk"; + req_access_txt = "29" + }, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "robotics"; + name = "robotics lab shutters" + }, +/turf/open/floor/plating, +/area/science/robotics/lab) +"bhA" = ( +/turf/closed/wall/r_wall/syndicate, +/area/science) +"bhB" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/research{ + name = "Research Division Access"; + req_access_txt = "47" + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bhC" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "rnd"; + name = "research lab shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science/research) +"bhD" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/southright{ + name = "Research and Development Desk"; + req_one_access_txt = "7;29" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "rnd"; + name = "research lab shutters" + }, +/turf/open/floor/plating, +/area/science/research) +"bhE" = ( +/obj/structure/table, +/obj/item/stack/sheet/glass/fifty{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/clothing/glasses/welding, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bhF" = ( +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bhG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard) +"bhH" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bhI" = ( +/obj/machinery/conveyor{ + id = "garbage" + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"bhJ" = ( +/obj/structure/disposalpipe/trunk{ + dir = 2 + }, +/obj/machinery/disposal/deliveryChute{ + dir = 4 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/window{ + base_state = "right"; + dir = 4; + icon_state = "right"; + layer = 3 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"bhL" = ( +/obj/machinery/mineral/stacking_machine{ + input_dir = 1; + stack_amt = 10 + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"bhM" = ( +/turf/open/floor/circuit/red, +/area/science/robotics/mechbay) +"bhN" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bhO" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bhQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/commons/toilet/locker) +"bhR" = ( +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/window{ + dir = 1 + }, +/obj/structure/window, +/turf/open/floor/plating, +/area/maintenance/port) +"bhS" = ( +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/window{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bhT" = ( +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/window, +/turf/open/floor/plating, +/area/maintenance/port) +"bhV" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bhW" = ( +/obj/machinery/door/poddoor/shutters{ + id = "qm_warehouse"; + name = "warehouse shutters" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"bhX" = ( +/obj/structure/disposalpipe/sorting/wrap{ + dir = 1 + }, +/turf/closed/wall/r_wall/syndicate, +/area/cargo/sorting) +"bhY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/cargo/storage) +"bhZ" = ( +/obj/machinery/door/window/eastleft{ + icon_state = "right"; + name = "Incoming Mail"; + req_access_txt = "50" + }, +/turf/open/floor/plating, +/area/cargo/sorting) +"bia" = ( +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/disposaloutlet{ + dir = 4 + }, +/turf/open/floor/plating, +/area/cargo/sorting) +"bib" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_x = 29 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bic" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bid" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bie" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=1"; + dir = 1; + freq = 1400; + location = "Bridge" + }, +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/command/meeting_room) +"bif" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"big" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"bih" = ( +/obj/effect/turf_decal/bot_white/right, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"bii" = ( +/obj/effect/turf_decal/bot_white/left, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"bij" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/gravity_generator) +"bik" = ( +/obj/item/radio/intercom{ + dir = 8; + freerange = 1; + name = "Station Intercom (Command)"; + pixel_x = -28 + }, +/obj/machinery/suit_storage_unit/captain, +/obj/machinery/light{ + light_color = "#c9d3e8" + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bil" = ( +/obj/machinery/computer/card{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bim" = ( +/obj/structure/table/wood, +/obj/machinery/recharger, +/obj/item/melee/chainofcommand, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bin" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bio" = ( +/obj/machinery/requests_console{ + department = "Chemistry"; + departmentType = 2; + pixel_x = -30; + receive_ore_updates = 1 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/closet/secure_closet/chemical, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bip" = ( +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"biq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bir" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/eastright{ + dir = 8; + name = "Chemistry Desk"; + req_access_txt = "33" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/medical/chemistry) +"bis" = ( +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/landmark/start/chemist, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bit" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + alpha = 255; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"biu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"biv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"biw" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/medical) +"bix" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/obj/effect/landmark/start/depsec/medical, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/medical) +"biy" = ( +/obj/machinery/computer/secure_data{ + dir = 8 + }, +/obj/item/radio/intercom{ + pixel_x = 25 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/medical) +"biz" = ( +/obj/structure/bodycontainer/morgue, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"biA" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/cargo/storage) +"biB" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/item/cigbutt{ + pixel_x = 10; + pixel_y = 17 + }, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/plasteel/dark, +/area/medical/paramedic) +"biC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/service/kitchen/coldroom) +"biD" = ( +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating, +/area/commons/storage/emergency/starboard) +"biE" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/item/extinguisher, +/turf/open/floor/plating, +/area/commons/storage/emergency/starboard) +"biF" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 1; + sortType = 2 + }, +/obj/structure/noticeboard{ + pixel_y = 32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"biG" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 2 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"biH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"biI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/circuit/red, +/area/science/robotics/mechbay) +"biJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/circuit/red, +/area/science/robotics/mechbay) +"biK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"biL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"biN" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"biO" = ( +/obj/machinery/camera{ + c_tag = "Robotics Lab"; + network = list("ss13","rd") + }, +/obj/machinery/button/door{ + id = "robotics"; + name = "Shutters Control Button"; + pixel_x = 6; + pixel_y = 24; + req_access_txt = "29" + }, +/obj/structure/table, +/obj/item/book/manual/wiki/robotics_cyborgs{ + pixel_x = 2; + pixel_y = 5 + }, +/obj/item/reagent_containers/glass/beaker/large, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"biP" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"biQ" = ( +/obj/structure/chair/stool, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"biR" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"biS" = ( +/obj/machinery/camera{ + c_tag = "Research Division Access" + }, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"biT" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"biU" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"biV" = ( +/obj/structure/chair/stool, +/obj/effect/landmark/start/scientist, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"biX" = ( +/obj/machinery/camera{ + c_tag = "Research and Development"; + network = list("ss13","rd"); + pixel_x = 22 + }, +/obj/machinery/button/door{ + id = "rnd"; + name = "Shutters Control Button"; + pixel_x = -6; + pixel_y = 24; + req_access_txt = "47" + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"biY" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bja" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/disposal) +"bjb" = ( +/obj/machinery/conveyor{ + id = "garbage" + }, +/obj/structure/sign/warning/vacuum{ + pixel_x = -32 + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"bjc" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"bjd" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"bje" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"bjf" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Disposal Access"; + req_access_txt = "12" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"bjg" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bjh" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bji" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bjj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bjk" = ( +/obj/structure/cable{ + 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) +"bjl" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"bjm" = ( +/obj/structure/table, +/obj/item/hand_labeler, +/obj/item/hand_labeler, +/obj/machinery/requests_console{ + department = "Cargo Bay"; + departmentType = 2; + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bjn" = ( +/obj/structure/table, +/obj/item/clothing/head/soft, +/obj/item/clothing/head/soft, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bjo" = ( +/obj/machinery/camera{ + c_tag = "Cargo Bay North" + }, +/obj/machinery/vending/wardrobe/cargo_wardrobe, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bjp" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/radio/intercom{ + pixel_y = 20 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bjq" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 5; + pixel_y = 30 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bjr" = ( +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bjs" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining/glass{ + name = "Cargo Office"; + req_access_txt = "50" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"bjt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bju" = ( +/obj/machinery/photocopier, +/obj/item/radio/intercom{ + pixel_y = 20 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bjv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bjw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"bjx" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bjy" = ( +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"bjz" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/central) +"bjA" = ( +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/central) +"bjB" = ( +/turf/open/floor/plating, +/area/maintenance/central) +"bjC" = ( +/obj/structure/closet/wardrobe/black, +/turf/open/floor/plating, +/area/maintenance/central) +"bjE" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"bjF" = ( +/obj/machinery/newscaster/security_unit{ + pixel_x = -32 + }, +/obj/machinery/keycard_auth{ + pixel_y = -24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bjG" = ( +/obj/machinery/door/window{ + base_state = "right"; + dir = 4; + icon_state = "right"; + name = "Captain's Desk Door"; + req_access_txt = "20" + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bjH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bjI" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bjJ" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"bjK" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bjL" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bjM" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/medical) +"bjN" = ( +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = 30 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/medical) +"bjO" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bjP" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"bjQ" = ( +/obj/machinery/smartfridge/chemistry/preloaded, +/turf/closed/wall, +/area/medical/chemistry) +"bjR" = ( +/obj/structure/table/glass, +/obj/item/storage/box/beakers{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/storage/box/beakers{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/dropper, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bjS" = ( +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"bjT" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"bjU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"bjV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"bjX" = ( +/obj/structure/table, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/medical) +"bjY" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/medical) +"bjZ" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bka" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bkb" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/flashlight/lamp{ + pixel_x = -2; + pixel_y = 11 + }, +/obj/item/folder/white, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/medical/paramedic) +"bkd" = ( +/obj/machinery/camera{ + c_tag = "Paramedic Disbatch"; + dir = 8; + network = list("ss13","medbay") + }, +/obj/machinery/suit_storage_unit/paramedic, +/turf/open/floor/plasteel/dark, +/area/medical/paramedic) +"bkh" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/circuit/red, +/area/science/robotics/mechbay) +"bki" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/glass/beaker/large{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/reagent_containers/dropper, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bkj" = ( +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bkk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bkm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bkn" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/firealarm{ + pixel_y = 27 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bko" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/status_display/evac{ + pixel_x = 32 + }, +/obj/machinery/aug_manipulator, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bkp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bkq" = ( +/obj/structure/closet/firecloset, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bkr" = ( +/obj/machinery/shower{ + dir = 8 + }, +/obj/structure/sign/warning/securearea{ + pixel_x = 32 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bks" = ( +/obj/machinery/requests_console{ + department = "Science"; + departmentType = 2; + name = "Science Requests Console"; + pixel_x = -30; + receive_ore_updates = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bkt" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bku" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bkv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bkw" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bkx" = ( +/obj/machinery/status_display/supply, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/cargo/sorting) +"bky" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard) +"bkz" = ( +/obj/machinery/conveyor{ + id = "garbage" + }, +/obj/machinery/door/poddoor/preopen{ + id = "Disposal Exit"; + name = "disposal exit vent" + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"bkB" = ( +/obj/machinery/button/door{ + id = "Disposal Exit"; + name = "Disposal Vent Control"; + pixel_x = -25; + pixel_y = 4; + req_access_txt = "12" + }, +/obj/machinery/button/massdriver{ + id = "trash"; + pixel_x = -26; + pixel_y = -6 + }, +/obj/structure/chair/stool, +/turf/open/floor/plating, +/area/maintenance/disposal) +"bkC" = ( +/obj/effect/decal/cleanable/oil, +/obj/machinery/light_switch{ + pixel_x = 25 + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"bkD" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/port) +"bkE" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port) +"bkG" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Cargo Bay Maintenance"; + req_access_txt = "31" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"bkH" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/cargo/sorting) +"bkJ" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/cargo/storage) +"bkK" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bkL" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/chem_heater, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bkM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bkN" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/cargo/office) +"bkO" = ( +/obj/machinery/light_switch{ + pixel_x = 28 + }, +/obj/item/screwdriver{ + pixel_y = 10 + }, +/obj/item/radio/off, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/medical) +"bkP" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"bkQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"bkR" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light_switch{ + pixel_y = -25 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"bkS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bkT" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/central) +"bkU" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bkV" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"bkW" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/central) +"bkX" = ( +/obj/machinery/power/apc{ + areastring = "/area/command/meeting_room"; + dir = 4; + name = "Conference Room APC"; + pixel_x = 24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/central) +"bkY" = ( +/obj/effect/landmark/blobstart, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/central) +"bkZ" = ( +/obj/machinery/gravity_generator/main/station, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"bla" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance{ + name = "Morgue Maintenance"; + req_access_txt = "6" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/department/medical/morgue) +"blb" = ( +/obj/machinery/door/airlock/command{ + name = "Captain's Quarters"; + req_access_txt = "20" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"blc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/command/heads_quarters/captain) +"bld" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Captain's Office Maintenance"; + req_access_txt = "20" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plating, +/area/maintenance/central/secondary) +"ble" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/extinguisher_cabinet{ + pixel_x = -27; + pixel_y = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"blf" = ( +/obj/structure/table/glass, +/obj/item/storage/box/syringes, +/obj/item/clothing/glasses/science{ + pixel_x = 2; + pixel_y = 4 + }, +/obj/item/clothing/glasses/science, +/obj/item/radio/intercom{ + dir = 8; + name = "Station Intercom (General)"; + pixel_x = -28 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"blg" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"blh" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/eastright{ + base_state = "left"; + dir = 8; + icon_state = "left"; + name = "Chemistry Desk"; + req_access_txt = "33" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/medical/chemistry) +"bli" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"blj" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"blk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"bll" = ( +/obj/structure/table/reinforced, +/obj/item/folder/white, +/obj/item/pen, +/obj/item/reagent_containers/glass/bottle/epinephrine, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"blm" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/drinks/britcup{ + desc = "Kingston's personal cup." + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bln" = ( +/obj/structure/table/reinforced, +/obj/machinery/camera{ + c_tag = "Medbay Foyer"; + dir = 8; + network = list("ss13","medbay") + }, +/obj/machinery/cell_charger, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"blo" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"blp" = ( +/obj/machinery/power/apc{ + areastring = "/area/security/checkpoint/medical"; + dir = 8; + name = "Medbay Security APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/medical) +"blq" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/sorting/mail{ + sortType = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) +"blr" = ( +/obj/structure/bodycontainer/morgue{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Medbay Morgue"; + dir = 6; + network = list("ss13","medbay") + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"bls" = ( +/obj/structure/table, +/obj/item/storage/toolbox/mechanical, +/obj/item/crowbar/large, +/obj/machinery/camera{ + c_tag = "Mech Bay"; + dir = 1 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"blt" = ( +/obj/machinery/recharge_station, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/sign/poster/official/state_laws{ + pixel_y = -32 + }, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"blu" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"blv" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"blw" = ( +/turf/open/floor/mech_bay_recharge_floor, +/area/science/robotics/mechbay) +"blx" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"bly" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/light_switch{ + pixel_x = -23 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"blz" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"blA" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science/robotics/lab) +"blB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/mecha_part_fabricator, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"blC" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"blD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/science/robotics/lab) +"blE" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/table, +/obj/item/storage/firstaid/regular{ + empty = 1; + name = "First-Aid (empty)" + }, +/obj/item/storage/firstaid/regular{ + empty = 1; + name = "First-Aid (empty)" + }, +/obj/item/storage/firstaid/regular{ + empty = 1; + name = "First-Aid (empty)" + }, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_x = 29 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"blF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/conveyor{ + dir = 4; + id = "robo1" + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"blG" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"blH" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"blI" = ( +/obj/machinery/rnd/destructive_analyzer, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"blJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/rnd/production/protolathe/department/science, +/turf/open/floor/plasteel/dark, +/area/science/research) +"blL" = ( +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/science/research) +"blM" = ( +/obj/effect/turf_decal/bot, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"blO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard) +"blP" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + req_access_txt = "13" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"blQ" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"blR" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"blS" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/mass_driver{ + id = "trash" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"blU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"blV" = ( +/obj/machinery/light/small, +/turf/open/floor/plating, +/area/maintenance/disposal) +"blW" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/cargo/storage) +"blX" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/airlock/research{ + name = "Research Division Access"; + req_access_txt = "47" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/science) +"blY" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"blZ" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bma" = ( +/obj/structure/table/glass, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/micro_laser, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stack/cable_coil, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/item/disk/tech_disk/illegal, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bmb" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bmc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bmd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bme" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bmf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bmg" = ( +/obj/machinery/door/airlock/mining/glass{ + name = "Cargo Bay"; + req_access_txt = "31" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bmh" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bmi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"bmj" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bmk" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining/glass{ + name = "Delivery Office"; + req_access_txt = "50" + }, +/turf/open/floor/plasteel, +/area/cargo/sorting) +"bmm" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bmn" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/machinery/status_display/supply{ + pixel_x = -28; + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bmo" = ( +/turf/closed/wall/r_wall/syndicate, +/area/command/heads_quarters/hop) +"bmp" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/central) +"bmq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/command/heads_quarters/hop) +"bms" = ( +/obj/machinery/door/airlock/command{ + name = "Head of Personnel"; + req_access_txt = "57" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/wood, +/area/command/heads_quarters/hop) +"bmt" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bmx" = ( +/turf/closed/wall/r_wall/syndicate, +/area/command/heads_quarters/captain) +"bmy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"bmz" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/dresser, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/item/card/id/captains_spare, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"bmA" = ( +/obj/machinery/door/airlock{ + name = "Private Restroom" + }, +/turf/open/floor/plasteel/freezer, +/area/command/heads_quarters/captain) +"bmB" = ( +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"bmC" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/structure/mirror{ + pixel_x = 28 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/freezer, +/area/command/heads_quarters/captain) +"bmD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/central/secondary) +"bmE" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bmF" = ( +/obj/structure/table/glass, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/item/stack/cable_coil/random, +/obj/item/stack/cable_coil/random, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/reagent_containers/glass/bottle/epinephrine, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bmG" = ( +/obj/machinery/chem_dispenser, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bmH" = ( +/obj/machinery/door/airlock/mining/glass{ + name = "Cargo Bay"; + req_access_txt = "31" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bmI" = ( +/obj/machinery/chem_master, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bmJ" = ( +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1485; + listening = 0; + name = "Station Intercom (Medbay)"; + pixel_y = -30 + }, +/obj/machinery/light, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"bmK" = ( +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bmL" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/machinery/button/door{ + desc = "A remote control switch for the medbay foyer."; + id = "MedbayFoyer"; + name = "Medbay Doors Control"; + normaldoorcontrol = 1; + pixel_x = -26; + req_access_txt = "5" + }, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bmM" = ( +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bmN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/medical) +"bmO" = ( +/obj/structure/closet/secure_closet/security/med, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/medical) +"bmP" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bmQ" = ( +/obj/item/stamp{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/stamp/denied{ + pixel_x = 4; + pixel_y = -2 + }, +/obj/structure/table, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bmR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bmT" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bmU" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/security/checkpoint/medical) +"bmV" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/medical{ + name = "Morgue"; + req_access_txt = "6;5" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"bmW" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/morgue) +"bmX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"bmY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/morgue) +"bmZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/genetics) +"bna" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bnb" = ( +/obj/machinery/recharge_station, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"bnc" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/science/robotics/mechbay) +"bnf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bng" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bnh" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bni" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/table, +/obj/item/storage/toolbox/electrical{ + pixel_x = 1; + pixel_y = 6 + }, +/obj/item/clothing/head/welding{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/item/clothing/glasses/welding, +/obj/item/multitool{ + pixel_x = 3 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bnj" = ( +/obj/structure/table, +/obj/item/stack/sheet/plasteel{ + amount = 10 + }, +/obj/item/stack/cable_coil, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bnk" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bnl" = ( +/obj/item/stack/sheet/glass, +/obj/structure/table/glass, +/obj/item/stack/sheet/glass, +/obj/item/stack/sheet/glass, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/stock_parts/scanning_module{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/stock_parts/scanning_module, +/obj/machinery/power/apc{ + areastring = "/area/science/research"; + dir = 4; + name = "Research Lab APC"; + pixel_x = 24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bnm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/science) +"bnn" = ( +/obj/machinery/computer/rdconsole/core{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bno" = ( +/obj/item/reagent_containers/glass/beaker/sulphuric, +/obj/machinery/rnd/production/circuit_imprinter/department/science, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bnp" = ( +/turf/open/floor/plasteel/dark, +/area/science/research) +"bnq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall, +/area/science/research) +"bnr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/structure/plasticflaps/opaque, +/turf/open/floor/plating, +/area/science/research) +"bns" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard) +"bnt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bnu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard) +"bnv" = ( +/obj/machinery/door/poddoor{ + id = "trash"; + name = "disposal bay door" + }, +/obj/structure/fans/tiny, +/turf/open/floor/plating, +/area/maintenance/disposal) +"bnw" = ( +/obj/effect/turf_decal/caution/stand_clear/red, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bnx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bny" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bnz" = ( +/obj/effect/landmark/start/cargo_technician, +/obj/structure/chair/office/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bnA" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bnB" = ( +/obj/structure/closet/wardrobe/chemistry_white, +/obj/machinery/light_switch{ + pixel_x = -23 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bnC" = ( +/obj/structure/chair, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bnD" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/table, +/obj/item/book/manual/wiki/chemistry, +/obj/item/book/manual/wiki/chemistry{ + pixel_x = 3; + pixel_y = 3 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bnE" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bnF" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_y = 30 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bnG" = ( +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/clipboard, +/obj/item/pen/red, +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bnH" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bnI" = ( +/obj/machinery/computer/cargo/request, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bnJ" = ( +/obj/machinery/firealarm{ + pixel_y = 27 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bnK" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/cargo/office) +"bnL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"bnM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bnN" = ( +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bnO" = ( +/obj/machinery/newscaster/security_unit{ + pixel_y = 32 + }, +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"bnP" = ( +/obj/machinery/button/flasher{ + id = "hopflash"; + pixel_x = 6; + pixel_y = 36 + }, +/obj/machinery/button/door{ + id = "hop"; + name = "Privacy Shutters Control"; + pixel_x = 6; + pixel_y = 25; + req_access_txt = "57" + }, +/obj/machinery/button/door{ + id = "hopqueue"; + name = "Queue Shutters Control"; + pixel_x = -4; + pixel_y = 25; + req_access_txt = "57" + }, +/obj/machinery/light_switch{ + pixel_x = -4; + pixel_y = 36 + }, +/obj/machinery/pdapainter, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"bnQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/bed/dogbed/ian, +/mob/living/simple_animal/pet/dog/corgi/Ian{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"bnR" = ( +/obj/machinery/computer/security/telescreen/vault{ + pixel_y = 30 + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"bnS" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"bnT" = ( +/obj/structure/sign/warning/electricshock{ + pixel_x = -32 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/gravity_generator) +"bnV" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/gravity_generator) +"bnW" = ( +/obj/structure/sign/warning/radiation/rad_area{ + pixel_x = 32 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/engineering/gravity_generator) +"bnX" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"bnY" = ( +/obj/structure/bed, +/obj/item/bedsheet/captain, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"bnZ" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green, +/obj/item/pen/fountain/captain, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"boa" = ( +/obj/structure/toilet{ + contents = newlist(/obj/item/toy/snappop/phoenix); + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/command/heads_quarters/captain) +"bob" = ( +/obj/structure/table/glass, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/screwdriver{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"boc" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bod" = ( +/obj/structure/table, +/obj/item/folder/white, +/obj/item/radio/headset/headset_med, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"boe" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + id_tag = "MedbayFoyer"; + name = "Medbay"; + req_access_txt = "5" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bof" = ( +/turf/closed/wall, +/area/medical/medbay/central) +"bog" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/medbay/central) +"boh" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + id_tag = "MedbayFoyer"; + name = "Medbay"; + req_access_txt = "5" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"boi" = ( +/obj/machinery/computer/med_data{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"boj" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/requests_console{ + department = "Medbay"; + departmentType = 1; + name = "Medbay RC"; + pixel_x = 30 + }, +/obj/machinery/light, +/obj/machinery/computer/crew{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bok" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Security Office"; + req_access_txt = "63" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/medical) +"bol" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bom" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"boo" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"boq" = ( +/obj/structure/bed/roller, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bor" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/latex, +/obj/item/surgical_drapes, +/obj/item/razor, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bos" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/power/apc{ + areastring = "/area/science/robotics/lab"; + dir = 8; + name = "Robotics Lab APC"; + pixel_x = -25 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bov" = ( +/obj/structure/table, +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/stock_parts/cell/high/plus, +/obj/item/stock_parts/cell/high/plus, +/obj/item/crowbar, +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/item/radio/headset/headset_sci{ + pixel_x = -3 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bow" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/preopen{ + id = "Biohazard"; + name = "biohazard containment door" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science) +"boy" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/preopen{ + id = "Biohazard"; + name = "biohazard containment door" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science) +"boz" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/preopen{ + id = "Biohazard"; + name = "biohazard containment door" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science) +"boA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"boB" = ( +/turf/closed/wall/r_wall/syndicate, +/area/science/research) +"boC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/science/robotics/lab) +"boD" = ( +/obj/structure/table, +/obj/item/circular_saw, +/obj/item/scalpel{ + pixel_y = 12 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"boE" = ( +/obj/structure/table, +/obj/item/hemostat, +/obj/item/cautery{ + pixel_x = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"boF" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"boG" = ( +/obj/structure/table, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/item/mmi, +/obj/item/mmi, +/obj/item/mmi, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"boH" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"boI" = ( +/obj/structure/sign/warning/vacuum/external, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/cargo/storage) +"boJ" = ( +/obj/machinery/conveyor_switch/oneway{ + id = "QMLoad2" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"boK" = ( +/obj/effect/turf_decal/bot_red, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"boL" = ( +/obj/structure/table, +/obj/item/retractor, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"boM" = ( +/turf/open/floor/plasteel/dark, +/area/science) +"boN" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"boP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/research) +"boQ" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high/plus, +/obj/item/stock_parts/cell/high/plus, +/turf/open/floor/plasteel/dark, +/area/science/research) +"boR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/delivery/red, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"boS" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/westleft{ + name = "Cargo Desk"; + req_access_txt = "50" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/cargo/office) +"boT" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"boU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"boV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"boW" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"boY" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/sign/poster/official/ian{ + pixel_x = 32; + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"boZ" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/northleft{ + dir = 8; + name = "Reception Window" + }, +/obj/machinery/door/window/brigdoor{ + base_state = "rightsecure"; + dir = 4; + icon_state = "rightsecure"; + name = "Head of Personnel's Desk"; + req_access_txt = "57" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/flasher{ + id = "hopflash"; + pixel_y = 28 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hop"; + name = "Privacy Shutters" + }, +/turf/open/floor/plasteel, +/area/command/heads_quarters/hop) +"bpb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/hop) +"bpc" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"bpd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/hop) +"bpe" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/hop) +"bph" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"bpj" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Captain's Quarters"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"bpk" = ( +/obj/structure/closet/secure_closet/captains, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/item/clothing/under/rank/captain/parade, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"bpl" = ( +/obj/structure/table/wood, +/obj/item/storage/box/matches, +/obj/item/razor{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/clothing/mask/cigarette/cigar, +/obj/item/reagent_containers/food/drinks/flask/gold, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"bpm" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/item/soap/deluxe, +/obj/item/bikehorn/rubberducky, +/obj/structure/curtain, +/turf/open/floor/plasteel/freezer, +/area/command/heads_quarters/captain) +"bpn" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bpo" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bpp" = ( +/obj/machinery/door/window/eastright{ + base_state = "left"; + dir = 8; + icon_state = "left"; + name = "Research Division Delivery"; + req_access_txt = "47" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/science/research) +"bpq" = ( +/obj/machinery/light_switch{ + pixel_y = -23 + }, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bpr" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + dir = 8; + freq = 1400; + location = "Research Division" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/science/research) +"bps" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/effect/turf_decal/loading_area/red{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bpt" = ( +/obj/structure/table, +/obj/item/hand_labeler, +/obj/item/stack/packageWrap, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bpu" = ( +/obj/structure/bed/roller, +/obj/machinery/button/door{ + desc = "A remote control switch for the medbay foyer."; + id = "MedbayFoyer"; + name = "Medbay Exit Button"; + normaldoorcontrol = 1; + pixel_y = 26 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -27 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bpv" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical{ + name = "Medbay Reception"; + req_access_txt = "5" + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) +"bpw" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/r_wall/syndicate, +/area/medical/medbay/central) +"bpx" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bpz" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bpA" = ( +/obj/machinery/computer/cargo{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bpB" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bpC" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bpD" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + name = "Chemistry Lab"; + req_access_txt = "5; 33" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/chemistry) +"bpE" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/genetics) +"bpF" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/southleft{ + dir = 1; + name = "Chemistry Desk"; + req_access_txt = "33" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/medical/chemistry) +"bpG" = ( +/obj/machinery/power/apc{ + areastring = "/area/medical/genetics"; + dir = 1; + name = "Genetics APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bpH" = ( +/obj/structure/table/glass, +/obj/item/folder/white, +/obj/item/radio/headset/headset_medsci, +/obj/machinery/requests_console{ + department = "Genetics"; + name = "Genetics Requests Console"; + pixel_y = 30 + }, +/obj/item/storage/pill_bottle/mutadone, +/obj/item/storage/pill_bottle/mannitol, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bpI" = ( +/obj/machinery/dna_scannernew, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bpJ" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bpK" = ( +/mob/living/carbon/monkey, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bpL" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bpM" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/medical/chemistry) +"bpN" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bpO" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bpP" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bpQ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) +"bpR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bpS" = ( +/obj/structure/table, +/obj/item/storage/box/bodybags, +/obj/item/pen, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bpT" = ( +/obj/structure/table, +/obj/item/storage/belt/utility, +/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; + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bpU" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high/plus, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bpV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/science/robotics/lab) +"bpW" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "robotics2"; + name = "robotics lab shutters" + }, +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "robotics2"; + name = "robotics lab shutters" + }, +/turf/open/floor/plating, +/area/science/robotics/lab) +"bpX" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science) +"bpY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bpZ" = ( +/obj/item/folder/white, +/obj/structure/table, +/obj/item/disk/tech_disk, +/obj/item/disk/tech_disk, +/obj/item/disk/design_disk, +/obj/item/disk/design_disk, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bqa" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/window/eastright{ + name = "Robotics Surgery"; + req_access_txt = "29" + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bqc" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bqd" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/conveyor{ + dir = 4; + id = "robo2" + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bqe" = ( +/turf/closed/wall/r_wall/syndicate, +/area/science/explab) +"bqf" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "rnd2"; + name = "research lab shutters" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bqg" = ( +/obj/machinery/atmospherics/components/binary/valve{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bqh" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bqi" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad2" + }, +/obj/machinery/door/poddoor{ + id = "QMLoaddoor2"; + name = "supply dock loading door" + }, +/turf/open/floor/plating, +/area/cargo/storage) +"bqj" = ( +/obj/structure/plasticflaps, +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad2" + }, +/turf/open/floor/plating, +/area/cargo/storage) +"bqk" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "rnd2"; + name = "research lab shutters" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/science/research) +"bql" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad2" + }, +/obj/effect/turf_decal/stripes/red/full, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bqm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bqn" = ( +/obj/machinery/light_switch{ + pixel_x = 27 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bqo" = ( +/obj/machinery/autolathe, +/obj/machinery/light_switch{ + pixel_x = -27 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bqp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/structure/table/reinforced, +/obj/item/destTagger, +/obj/item/destTagger, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"bqq" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/hop) +"bqr" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/hop) +"bqs" = ( +/obj/effect/turf_decal/bot_red, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bqt" = ( +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bqu" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bqv" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/hallway/primary/central) +"bqw" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bqx" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hop"; + name = "Privacy Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/command/heads_quarters/hop) +"bqy" = ( +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bqz" = ( +/turf/open/floor/carpet/black, +/area/command/heads_quarters/hop) +"bqA" = ( +/obj/machinery/computer/card{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"bqB" = ( +/obj/machinery/holopad/secure, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/hop) +"bqC" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"bqD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"bqE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"bqF" = ( +/obj/machinery/button/door{ + id = "stationawaygate"; + name = "Gateway Access Shutter Control"; + pixel_x = -1; + pixel_y = -24; + req_access_txt = "31" + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"bqG" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/closet/secure_closet/exile, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"bqI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/command/teleporter) +"bqJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/command/teleporter) +"bqK" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Teleporter Maintenance"; + req_access_txt = "17" + }, +/obj/structure/sign/warning/securearea{ + pixel_x = -32 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/central/secondary) +"bqL" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bqN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bqO" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bqP" = ( +/obj/structure/bed/roller, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bqQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bqS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bqT" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bqU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/noticeboard{ + pixel_y = 32 + }, +/obj/machinery/camera{ + c_tag = "Medbay West"; + network = list("ss13","medbay") + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bqV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bqW" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bqX" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bqY" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bqZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bra" = ( +/obj/structure/table/glass, +/obj/item/storage/box/rxglasses, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"brb" = ( +/obj/machinery/computer/scan_consolenew{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"brc" = ( +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/landmark/start/geneticist, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"brd" = ( +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bre" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/mob/living/carbon/monkey, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"brf" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"brg" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"brh" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bri" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"brj" = ( +/obj/structure/bed/roller, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"brk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"brm" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bro" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"brp" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/science) +"brq" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/button/door{ + id = "robotics2"; + name = "Shutters Control Button"; + pixel_x = 24; + pixel_y = -24; + req_access_txt = "29" + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"brr" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/science/explab) +"brs" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/eastright{ + base_state = "left"; + dir = 8; + icon_state = "left"; + name = "Robotics Desk"; + req_access_txt = "29" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "robotics2"; + name = "robotics lab shutters" + }, +/obj/item/folder/white, +/obj/item/pen, +/turf/open/floor/plating, +/area/science/robotics/lab) +"brt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science) +"bru" = ( +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"brv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"brw" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"brx" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "rnd2"; + name = "research lab shutters" + }, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/science/research) +"bry" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Experimentation Lab Maintenance"; + req_access_txt = "47" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"brz" = ( +/obj/machinery/rnd/bepis, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"brA" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"brB" = ( +/obj/structure/closet/l3closet/scientist, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"brC" = ( +/obj/structure/table, +/obj/item/folder/white, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/item/radio/off, +/obj/machinery/camera{ + c_tag = "Experimentor Lab"; + network = list("ss13","rd") + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"brD" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"brE" = ( +/obj/machinery/door/airlock/maintenance/abandoned{ + req_one_access_txt = "8;12" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard) +"brF" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/sign/warning/securearea{ + pixel_x = -32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard) +"brG" = ( +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"brH" = ( +/obj/item/cigbutt/cigarbutt, +/turf/open/floor/plating, +/area/maintenance/starboard) +"brI" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"brJ" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "Supply Dock Airlock"; + req_access_txt = "31" + }, +/turf/open/floor/plating, +/area/cargo/storage) +"brK" = ( +/turf/open/floor/plating, +/area/cargo/storage) +"brL" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"brM" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + dir = 8; + freq = 1400; + location = "QM #1" + }, +/obj/effect/turf_decal/bot, +/mob/living/simple_animal/bot/mulebot{ + beacon_freq = 1400; + home_destination = "QM #1"; + suffix = "#1" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"brN" = ( +/obj/effect/turf_decal/delivery/red, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"brO" = ( +/obj/structure/table, +/obj/machinery/requests_console{ + department = "Cargo Bay"; + departmentType = 2; + pixel_x = -30 + }, +/obj/item/multitool, +/obj/machinery/camera{ + c_tag = "Cargo Office"; + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"brP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"brQ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"brR" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"brS" = ( +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"brU" = ( +/obj/structure/sign/warning/electricshock{ + pixel_y = -32 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hop"; + name = "Privacy Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/command/heads_quarters/hop) +"brW" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/vending/cart, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"brY" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"brZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"bsa" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Gateway Access"; + req_access_txt = "62" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"bsh" = ( +/turf/closed/wall/r_wall/syndicate, +/area/command/teleporter) +"bsi" = ( +/obj/structure/table, +/obj/item/hand_tele, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"bsj" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -27; + pixel_y = 1 + }, +/obj/structure/table, +/obj/item/beacon, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"bsk" = ( +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"bsl" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = 20 + }, +/obj/structure/closet/crate, +/obj/item/crowbar, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"bsm" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"bsn" = ( +/obj/machinery/camera{ + c_tag = "Teleporter" + }, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"bso" = ( +/obj/machinery/light_switch{ + pixel_x = 27 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"bsp" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bsq" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/item/radio/intercom{ + frequency = 1485; + name = "Station Intercom (Medbay)"; + pixel_y = -30 + }, +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bsr" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bss" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bst" = ( +/obj/item/radio/intercom{ + frequency = 1485; + name = "Station Intercom (Medbay)"; + pixel_x = 30 + }, +/obj/machinery/camera{ + c_tag = "Medbay East"; + dir = 8; + network = list("ss13","medbay"); + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bsu" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + id_tag = "GeneticsDoor"; + name = "Genetics"; + req_access_txt = "5; 68" + }, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bsv" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bsw" = ( +/obj/machinery/door/airlock/research{ + name = "Robotics Lab"; + req_access_txt = "29" + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bsx" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bsy" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bsz" = ( +/obj/machinery/status_display/evac{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bsA" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, +/turf/open/floor/plasteel/dark, +/area/science) +"bsC" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science) +"bsD" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bsE" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/research{ + name = "Experimentation Lab"; + req_access_txt = "47" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"bsF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"bsG" = ( +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"bsH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/science/explab) +"bsI" = ( +/obj/machinery/power/apc{ + areastring = "/area/science/explab"; + dir = 4; + name = "Experimentation Lab APC"; + pixel_x = 24 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"bsJ" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard) +"bsK" = ( +/obj/structure/table/glass, +/obj/item/storage/box/disks{ + pixel_x = 2; + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bsM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bsN" = ( +/obj/machinery/door/window/westleft{ + name = "Monkey Pen"; + req_access_txt = "9" + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bsO" = ( +/obj/structure/bodycontainer/morgue, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bsP" = ( +/obj/structure/table/optable{ + name = "Robotics Operating Table" + }, +/obj/effect/landmark/event_spawn, +/obj/item/tank/internals/anesthetic, +/obj/item/clothing/mask/breath, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bsQ" = ( +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bsR" = ( +/obj/machinery/computer/operating{ + dir = 1; + name = "Robotics Operating Computer" + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bsS" = ( +/obj/machinery/camera{ + c_tag = "Robotics Lab - South"; + dir = 1; + network = list("ss13","rd") + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bsT" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bsU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"bsV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bsW" = ( +/obj/machinery/vending/wardrobe/robo_wardrobe, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"bsX" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bsY" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/obj/effect/landmark/start/head_of_personnel, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"bsZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bta" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Research Division North" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"btb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/noticeboard{ + pixel_y = 32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"btc" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"btd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"bte" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"btf" = ( +/obj/machinery/requests_console{ + department = "Medbay"; + departmentType = 1; + name = "Medbay RC"; + pixel_x = -30 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bth" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/item/kirbyplants{ + icon_state = "plant-16" + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bti" = ( +/obj/structure/closet/wardrobe/grey, +/obj/item/clothing/head/beret/black, +/obj/item/clothing/head/beret/black, +/obj/item/clothing/head/beret, +/obj/item/clothing/head/beret, +/obj/item/clothing/under/misc/assistantformal, +/obj/item/clothing/under/dress/skirt, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"btj" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"btk" = ( +/obj/structure/closet/wardrobe/white, +/obj/item/clothing/under/costume/kilt, +/obj/item/clothing/under/rank/civilian/janitor/maid, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"btl" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"btm" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2; + sortType = 12 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"btn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/science) +"bto" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/sign/warning/securearea{ + pixel_x = 32 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"btp" = ( +/obj/item/cigbutt, +/turf/open/floor/plating, +/area/maintenance/starboard) +"btq" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "Space Loop Out" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard) +"btr" = ( +/obj/machinery/camera{ + c_tag = "Cargo Receiving Dock"; + dir = 4 + }, +/obj/machinery/button/door{ + id = "QMLoaddoor"; + layer = 4; + name = "Loading Doors"; + pixel_x = -24; + pixel_y = -8 + }, +/obj/machinery/button/door{ + id = "QMLoaddoor2"; + layer = 4; + name = "Loading Doors"; + pixel_x = -24; + pixel_y = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bts" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + dir = 8; + freq = 1400; + location = "QM #2" + }, +/obj/effect/turf_decal/bot, +/mob/living/simple_animal/bot/mulebot{ + home_destination = "QM #2"; + suffix = "#2" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"btt" = ( +/obj/structure/table, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/item/folder/yellow, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"btu" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"btv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"btw" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"btx" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/preopen{ + id = "Biohazard"; + name = "biohazard containment door" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science) +"bty" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"btz" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"btA" = ( +/obj/machinery/camera{ + c_tag = "Research Division West" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"btB" = ( +/obj/machinery/computer/bounty{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"btC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"btD" = ( +/obj/item/paper_bin/bundlenatural{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/paper_bin{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/pen/fountain, +/obj/structure/table, +/obj/item/pen/fourcolor, +/obj/item/stamp/hop, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"btE" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"btG" = ( +/turf/closed/wall/r_wall/syndicate, +/area/engineering/gravity_generator) +"btH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/chair/stool, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"btI" = ( +/obj/machinery/power/apc{ + areastring = "/area/command/teleporter"; + dir = 8; + name = "Teleporter APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"btJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/bluespace_beacon, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"btK" = ( +/obj/machinery/holopad, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"btL" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"btM" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Teleport Access"; + req_access_txt = "17" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"btN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"btO" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"btP" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"btR" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"btS" = ( +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"btT" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"btU" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"btV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"btX" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"btY" = ( +/obj/machinery/requests_console{ + department = "Science"; + departmentType = 2; + name = "Science Requests Console"; + pixel_y = -30; + receive_ore_updates = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"btZ" = ( +/obj/machinery/light, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bua" = ( +/turf/closed/wall/r_wall/syndicate, +/area/medical/genetics) +"bub" = ( +/obj/machinery/light, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -35 + }, +/obj/effect/turf_decal/loading_area/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"buc" = ( +/obj/machinery/light, +/obj/machinery/power/apc{ + areastring = "/area/cargo/office"; + name = "Cargo Office APC"; + pixel_x = 1; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/brown, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bud" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/loading_area/red{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bue" = ( +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Head of Personnel's Desk"; + departmentType = 5; + name = "Head of Personnel RC"; + pixel_y = -30 + }, +/obj/machinery/camera{ + c_tag = "Head of Personnel's Office"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"buf" = ( +/obj/machinery/computer/scan_consolenew{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bug" = ( +/obj/structure/chair/office/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bui" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"buj" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "robotics2"; + name = "robotics lab shutters" + }, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/science/robotics/lab) +"bul" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bum" = ( +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bun" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"buo" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bup" = ( +/obj/machinery/light, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"buq" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/medical/genetics) +"bur" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bus" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"but" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"buu" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"buv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"buw" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"bux" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"buy" = ( +/obj/structure/disposalpipe/sorting/mail{ + sortType = 23 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"buz" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard) +"buB" = ( +/obj/machinery/conveyor_switch/oneway{ + dir = 8; + id = "QMLoad" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"buC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"buD" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + dir = 8; + freq = 1400; + location = "QM #3" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"buE" = ( +/obj/structure/table, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"buF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"buG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/research{ + name = "Genetics Research Access"; + req_access_txt = "9" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"buH" = ( +/obj/machinery/door/airlock/research{ + name = "Genetics Research Access"; + req_access_txt = "47" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"buI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"buJ" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/machinery/light, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"buK" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"buL" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"buM" = ( +/obj/machinery/keycard_auth{ + pixel_x = -24 + }, +/obj/machinery/computer/cargo/request{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"buN" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"buO" = ( +/obj/structure/table, +/obj/item/folder/blue, +/obj/item/stack/packageWrap{ + pixel_x = -1; + pixel_y = -1 + }, +/obj/item/hand_labeler, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"buT" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"buU" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/preopen{ + id = "Biohazard"; + name = "biohazard containment door" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science) +"buV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"buW" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"buX" = ( +/obj/machinery/shieldwallgen, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"buY" = ( +/obj/machinery/shieldwallgen, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"buZ" = ( +/obj/structure/closet/crate, +/turf/open/floor/plasteel/dark, +/area/command/teleporter) +"bva" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/sign/warning/securearea{ + pixel_x = -32 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bvb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bvc" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bvd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/surgery) +"bve" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bvf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bvg" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/science) +"bvi" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/medical/surgery) +"bvk" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"bvl" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Surgery Observation" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bvm" = ( +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bvn" = ( +/obj/machinery/button/door{ + desc = "A remote control switch for the genetics doors."; + id = "GeneticsDoor"; + name = "Genetics Exit Button"; + normaldoorcontrol = 1; + pixel_x = 8; + pixel_y = 24 + }, +/obj/structure/table, +/obj/item/book/manual/wiki/medical_cloning{ + pixel_y = 6 + }, +/obj/item/storage/box/rxglasses{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/box/bodybags, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bvo" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bvp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bvq" = ( +/obj/structure/chair, +/obj/effect/landmark/start/geneticist, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bvr" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bvs" = ( +/obj/machinery/dna_scannernew, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bvt" = ( +/obj/machinery/door/airlock/research/glass{ + name = "Genetics Research"; + req_access_txt = "5; 9; 68" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bvu" = ( +/obj/structure/window/reinforced, +/mob/living/carbon/monkey, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bvv" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bvw" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bvy" = ( +/obj/machinery/camera{ + c_tag = "Genetics Research"; + dir = 1; + network = list("ss13","medbay") + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bvz" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bvA" = ( +/obj/structure/sign/warning/securearea, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/genetics) +"bvB" = ( +/obj/machinery/camera{ + c_tag = "Genetics Access"; + dir = 8; + network = list("ss13","medbay"); + pixel_y = -22 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bvC" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/security/checkpoint/science) +"bvD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/science) +"bvF" = ( +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Cargo Bay"; + departmentType = 2; + pixel_x = -30 + }, +/obj/machinery/computer/bounty{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/machinery/keycard_auth{ + pixel_y = 25 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"bvG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"bvH" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bvI" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bvJ" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/command/heads_quarters/rd) +"bvL" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/supply) +"bvM" = ( +/obj/machinery/light_switch{ + pixel_x = -20 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"bvN" = ( +/obj/structure/chair/office/light, +/obj/effect/landmark/start/scientist, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"bvO" = ( +/turf/open/floor/plasteel/dark, +/area/science/explab) +"bvP" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 5; + pixel_y = -32 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"bvQ" = ( +/turf/open/floor/plating, +/area/maintenance/starboard) +"bvR" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bvS" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "QMLoad" + }, +/obj/machinery/door/poddoor{ + id = "QMLoaddoor"; + name = "supply dock loading door" + }, +/turf/open/floor/plating, +/area/cargo/storage) +"bvT" = ( +/obj/structure/plasticflaps, +/obj/machinery/conveyor{ + dir = 8; + id = "QMLoad" + }, +/turf/open/floor/plating, +/area/cargo/storage) +"bvU" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "QMLoad" + }, +/obj/machinery/light, +/obj/machinery/status_display/supply{ + pixel_y = -32 + }, +/obj/effect/turf_decal/stripes/red/full, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bvV" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "QMLoad" + }, +/obj/effect/turf_decal/stripes/red/full, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bvW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bvX" = ( +/obj/machinery/camera{ + c_tag = "Cargo Bay South"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bvY" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + dir = 8; + freq = 1400; + location = "QM #4" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"bvZ" = ( +/obj/structure/table, +/obj/item/storage/firstaid/regular{ + pixel_x = 6; + pixel_y = -5 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bwa" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bwb" = ( +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"bwc" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bwd" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/checkpoint/supply) +"bwe" = ( +/turf/closed/wall/r_wall/syndicate, +/area/security/checkpoint/supply) +"bwf" = ( +/obj/machinery/camera{ + c_tag = "Cargo Bay Entrance"; + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bwg" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hopqueue"; + name = "HoP Queue Shutters" + }, +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bwh" = ( +/obj/structure/sign/warning/securearea{ + pixel_y = 32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bwi" = ( +/obj/item/radio/intercom{ + dir = 8; + name = "Station Intercom (General)"; + pixel_x = -28 + }, +/obj/structure/closet/secure_closet/hop, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/item/clothing/suit/ianshirt, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"bwj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"bwk" = ( +/obj/structure/table, +/obj/machinery/recharger, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"bwl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"bwq" = ( +/obj/machinery/teleport/station, +/turf/open/floor/plating, +/area/command/teleporter) +"bwr" = ( +/obj/machinery/computer/teleporter{ + dir = 1 + }, +/turf/open/floor/plating, +/area/command/teleporter) +"bws" = ( +/obj/structure/rack, +/obj/item/tank/internals/oxygen, +/obj/item/clothing/mask/gas, +/turf/open/floor/plating, +/area/command/teleporter) +"bwt" = ( +/obj/machinery/teleport/hub, +/turf/open/floor/plating, +/area/command/teleporter) +"bwu" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bwv" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=4"; + dir = 4; + freq = 1400; + location = "Medbay" + }, +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bww" = ( +/obj/structure/chair, +/obj/machinery/camera{ + c_tag = "Surgery Observation"; + network = list("ss13","medbay") + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bwx" = ( +/obj/machinery/door/window/eastleft{ + name = "Medical Delivery"; + req_access_txt = "5" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bwz" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bwB" = ( +/obj/structure/chair, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bwD" = ( +/obj/machinery/sleeper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bwE" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bwF" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ + pixel_x = 7; + pixel_y = 1 + }, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ + pixel_x = 7; + pixel_y = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bwG" = ( +/obj/structure/sign/warning/nosmoking, +/turf/closed/wall/r_wall/syndicate, +/area/medical/medbay/central) +"bwH" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bwI" = ( +/obj/machinery/atmospherics/components/unary/cryo_cell, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bwJ" = ( +/obj/structure/table/glass, +/obj/machinery/camera{ + c_tag = "Medbay Cryogenics"; + network = list("ss13","medbay") + }, +/obj/item/reagent_containers/glass/beaker/cryoxadone, +/obj/item/reagent_containers/glass/beaker/cryoxadone, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bwK" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bwL" = ( +/obj/machinery/camera{ + c_tag = "Genetics Cloning"; + dir = 4; + network = list("ss13","medbay") + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/structure/closet/secure_closet/personal/patient, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bwM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/science) +"bwN" = ( +/obj/machinery/light_switch{ + pixel_x = 8; + pixel_y = 28 + }, +/obj/machinery/button/door{ + id = "Biohazard"; + name = "Biohazard Shutter Control"; + pixel_x = -5; + pixel_y = 28; + req_access_txt = "47" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/science) +"bwO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bwQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/command/heads_quarters/rd) +"bwR" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bwS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"bwT" = ( +/obj/machinery/door/airlock/command{ + name = "Quartermaster"; + req_access_txt = "41" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"bwU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"bwV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/landmark/start/shaft_miner, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bwW" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bwX" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 1; + sortType = 3 + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bwY" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Security Office"; + req_access_txt = "63" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/supply) +"bwZ" = ( +/obj/structure/chair, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bxa" = ( +/obj/structure/chair, +/obj/structure/sign/warning/nosmoking{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bxb" = ( +/obj/structure/chair, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bxc" = ( +/obj/machinery/holopad, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bxe" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science) +"bxf" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bxg" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"bxi" = ( +/obj/machinery/computer/aifixer{ + dir = 8 + }, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Research Director's Desk"; + departmentType = 5; + name = "Research Director RC"; + pixel_x = -2; + pixel_y = 30; + receive_ore_updates = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bxj" = ( +/obj/structure/table, +/obj/machinery/computer/security/telescreen/rd, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bxk" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"bxl" = ( +/obj/structure/rack, +/obj/item/circuitboard/aicore{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bxm" = ( +/obj/effect/landmark/xmastree/rdrod, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bxo" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"bxp" = ( +/obj/machinery/computer/rdconsole/experiment{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"bxq" = ( +/obj/structure/table, +/obj/item/clipboard, +/obj/item/book/manual/wiki/experimentor, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"bxr" = ( +/obj/structure/closet/radiation, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"bxs" = ( +/obj/machinery/button/door{ + id = "telelab"; + name = "Test Chamber Blast Doors"; + pixel_x = 25; + req_access_txt = "47" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"bxt" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bxu" = ( +/turf/closed/wall/r_wall/syndicate, +/area/cargo/qm) +"bxv" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/obj/effect/landmark/start/depsec/science, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/science) +"bxw" = ( +/obj/machinery/door/airlock/command{ + name = "Quartermaster"; + req_access_txt = "41" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"bxx" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/cargo/qm) +"bxy" = ( +/turf/closed/wall/r_wall/syndicate, +/area/cargo/miningdock) +"bxz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/cargo/miningdock) +"bxA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining{ + req_access_txt = "48" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bxB" = ( +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/pen, +/obj/structure/table, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/supply) +"bxC" = ( +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/structure/table, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/supply) +"bxD" = ( +/obj/item/book/manual/wiki/security_space_law, +/obj/structure/table, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/supply) +"bxE" = ( +/obj/machinery/computer/secure_data{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/supply) +"bxF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bxG" = ( +/obj/machinery/door/airlock/command{ + name = "Head of Personnel"; + req_access_txt = "57" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hop) +"bxI" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "bridge blast door" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/hallway/primary/central) +"bxK" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "bridge blast door" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/hallway/primary/central) +"bxL" = ( +/obj/machinery/camera{ + c_tag = "Central Hallway South-East"; + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bxM" = ( +/obj/structure/chair/office/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/auxiliary) +"bxN" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/structure/mirror{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bxO" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bxP" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bxQ" = ( +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bxR" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bxS" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bxT" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bxU" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bxV" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bxW" = ( +/obj/machinery/door/airlock/command/glass{ + name = "Research Director"; + req_access_txt = "30" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bxX" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bxY" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bxZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bya" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"byb" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"byc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/machinery/computer/card/minor/qm{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"byd" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"bye" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall/syndicate, +/area/medical/genetics) +"byf" = ( +/turf/closed/wall/r_wall/syndicate, +/area/science/server) +"byg" = ( +/obj/structure/table, +/obj/item/clipboard, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/item/cartridge/quartermaster{ + pixel_x = 6; + pixel_y = 5 + }, +/obj/item/cartridge/quartermaster{ + pixel_x = -4; + pixel_y = 7 + }, +/obj/item/cartridge/quartermaster, +/obj/item/coin/silver, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/item/stamp/qm, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen/fountain, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"byh" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Server Room"; + req_access_txt = "30" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/science/server) +"byi" = ( +/turf/closed/wall/r_wall/syndicate, +/area/security/checkpoint/science) +"byj" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Security Office"; + req_access_txt = "63" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/science) +"byk" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/checkpoint/science) +"byl" = ( +/obj/structure/table, +/obj/item/folder/yellow, +/obj/item/pen{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/pen/red, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"bym" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/cargo/qm) +"byn" = ( +/obj/structure/filingcabinet, +/obj/machinery/light_switch{ + pixel_y = -25 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"byo" = ( +/obj/structure/table, +/obj/machinery/button/door{ + id = "Biohazard"; + name = "Biohazard Shutter Control"; + pixel_x = -5; + pixel_y = 5; + req_access_txt = "47" + }, +/obj/machinery/button/door{ + id = "rnd2"; + name = "Research Lab Shutter Control"; + pixel_x = 5; + pixel_y = 5; + req_access_txt = "47" + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"byp" = ( +/obj/machinery/computer/robotics{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"byq" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/effect/landmark/start/research_director, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"byr" = ( +/obj/machinery/holopad/secure, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bys" = ( +/obj/structure/rack, +/obj/item/aicard, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"byt" = ( +/turf/closed/wall/r_wall/syndicate, +/area/command/heads_quarters/rd) +"byu" = ( +/obj/structure/displaycase/labcage, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"byv" = ( +/obj/machinery/door/poddoor/preopen{ + id = "telelab"; + name = "test chamber blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/engine, +/area/science/explab) +"byw" = ( +/obj/machinery/door/poddoor/preopen{ + id = "telelab"; + name = "test chamber blast door" + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/engine, +/area/science/explab) +"byx" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/heater{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"byy" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"byz" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"byA" = ( +/obj/machinery/power/apc{ + areastring = "/area/cargo/qm"; + dir = 1; + name = "Quartermaster APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"byB" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"byC" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/machinery/holopad/secure, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"byD" = ( +/obj/structure/closet/secure_closet/quartermaster, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"byE" = ( +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"byF" = ( +/obj/machinery/power/apc{ + areastring = "/area/cargo/miningdock"; + dir = 1; + name = "Mining Dock APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"byG" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"byH" = ( +/obj/machinery/light_switch{ + pixel_y = -25 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/closet/secure_closet/security/cargo, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/supply) +"byI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/supply) +"byJ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/security/checkpoint/supply) +"byK" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/supply) +"byL" = ( +/obj/structure/chair/office/dark{ + dir = 1 + }, +/obj/effect/landmark/start/depsec/supply, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/supply) +"byM" = ( +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_x = 27 + }, +/obj/machinery/computer/security/mining{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/supply) +"byN" = ( +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"byO" = ( +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + pixel_y = -30 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/supply) +"byP" = ( +/obj/structure/sign/warning/securearea{ + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"byQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"byR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"byS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"byT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/vending/wardrobe/sec_wardrobe, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/supply) +"byU" = ( +/obj/machinery/light, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"byW" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 5; + pixel_y = -32 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"byX" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"byY" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/medical/surgery) +"byZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/medical/surgery) +"bza" = ( +/obj/structure/chair, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bzb" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/surgery) +"bzc" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Recovery Room" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bzd" = ( +/obj/structure/table, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/obj/item/pen, +/obj/machinery/requests_console{ + department = "Medbay"; + departmentType = 1; + name = "Medbay RC"; + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bze" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/shower{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bzg" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bzh" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bzi" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bzj" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bzk" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bzl" = ( +/obj/machinery/dna_scannernew, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bzm" = ( +/obj/machinery/clonepod, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bzn" = ( +/obj/machinery/computer/cloning{ + dir = 1 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bzo" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bzp" = ( +/obj/structure/closet/secure_closet/personal/patient, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bzq" = ( +/obj/structure/closet/secure_closet/medical1, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bzr" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -29 + }, +/obj/machinery/vending/wardrobe/gene_wardrobe, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"bzs" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/aft) +"bzt" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4; + external_pressure_bound = 140; + name = "server vent"; + pressure_checks = 0 + }, +/turf/open/floor/circuit/red, +/area/science/server) +"bzu" = ( +/obj/machinery/rnd/server, +/turf/open/floor/circuit/red, +/area/science/server) +"bzv" = ( +/obj/machinery/atmospherics/pipe/simple{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/science/server) +"bzw" = ( +/obj/machinery/atmospherics/pipe/simple{ + dir = 4 + }, +/obj/structure/sign/warning/securearea{ + desc = "A warning sign which reads 'SERVER ROOM'."; + name = "SERVER ROOM"; + pixel_y = 32 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science/server) +"bzx" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/science/server) +"bzy" = ( +/obj/machinery/camera{ + c_tag = "Server Room"; + network = list("ss13","rd"); + pixel_x = 22 + }, +/obj/machinery/power/apc{ + areastring = "/area/science/server"; + dir = 1; + name = "Server Room APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/server) +"bzz" = ( +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = -30 + }, +/obj/machinery/airalarm{ + pixel_y = 25 + }, +/obj/structure/closet/secure_closet/security/science, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/science) +"bzA" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bzB" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/science) +"bzC" = ( +/obj/structure/table, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/science) +"bzD" = ( +/obj/structure/table, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/computer/security/telescreen/circuitry, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/science) +"bzF" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bzG" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bzH" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/medical/surgery) +"bzI" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/table, +/obj/item/storage/backpack/duffelbag/med/surgery, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bzJ" = ( +/obj/machinery/computer/mecha{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bzK" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/medical/surgery) +"bzL" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bzM" = ( +/obj/structure/rack, +/obj/item/taperecorder{ + pixel_x = -3 + }, +/obj/item/paicard{ + pixel_x = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bzN" = ( +/obj/machinery/modular_computer/console/preset/research{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bzO" = ( +/turf/open/floor/engine, +/area/science/explab) +"bzP" = ( +/obj/machinery/computer/cargo{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"bzQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"bzR" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"bzS" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/computer/operating, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bzT" = ( +/obj/structure/chair/office/dark, +/obj/effect/landmark/start/quartermaster, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"bzU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bzV" = ( +/obj/machinery/vending/wardrobe/medi_wardrobe, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bzW" = ( +/obj/structure/closet/l3closet, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bzX" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bzY" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bzZ" = ( +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel/dark, +/area/science) +"bAa" = ( +/obj/machinery/door/firedoor/heavy, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/science) +"bAb" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/obj/effect/landmark/start/shaft_miner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bAc" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bAd" = ( +/obj/item/screwdriver{ + pixel_y = 10 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/radio/off, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/supply) +"bAe" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=AIW"; + location = "QM" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bAf" = ( +/obj/machinery/holopad, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bAg" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=AftH"; + location = "AIW" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bAh" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=CHE"; + location = "AIE" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bAi" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bAj" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=HOP"; + location = "CHE" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bAk" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bAl" = ( +/obj/structure/chair, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bAm" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bAn" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Mining Maintenance"; + req_access_txt = "48" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bAo" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/power/apc{ + areastring = "/area/security/checkpoint/supply"; + dir = 1; + name = "Cargo Security APC"; + pixel_x = 1; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bAq" = ( +/obj/machinery/sleeper{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Medbay Treatment Center"; + dir = 8; + network = list("ss13","medbay") + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bAr" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bAs" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1; + name = "Connector Port (Air Supply)" + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bAt" = ( +/obj/structure/table/reinforced, +/obj/item/wrench/medical, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bAu" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bAv" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1; + name = "Connector Port (Air Supply)" + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bAw" = ( +/turf/open/floor/plating, +/area/maintenance/aft) +"bAx" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bAy" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/plasteel/dark/telecomms, +/area/science/server) +"bAz" = ( +/obj/machinery/airalarm/server{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/science/server) +"bAA" = ( +/obj/machinery/atmospherics/pipe/manifold{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/server) +"bAB" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "Server Room"; + req_access_txt = "30" + }, +/turf/open/floor/plasteel/dark, +/area/science/server) +"bAC" = ( +/obj/machinery/atmospherics/pipe/simple{ + dir = 9 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/server) +"bAD" = ( +/obj/structure/chair/office/light, +/obj/machinery/atmospherics/pipe/simple{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/server) +"bAE" = ( +/obj/machinery/camera{ + c_tag = "Security Post - Science"; + dir = 4; + network = list("ss13","rd") + }, +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/vending/wardrobe/sec_wardrobe, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/science) +"bAF" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/science) +"bAG" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/science) +"bAH" = ( +/obj/structure/table, +/obj/item/book/manual/wiki/security_space_law, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/science) +"bAI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bAJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bAK" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bAL" = ( +/obj/structure/table, +/obj/item/plant_analyzer, +/obj/item/stock_parts/cell/high/plus, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bAM" = ( +/obj/structure/table, +/obj/item/analyzer, +/obj/item/healthanalyzer, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bAN" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bAO" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bAP" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bAQ" = ( +/obj/effect/landmark/blobstart, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/engine, +/area/science/explab) +"bAR" = ( +/obj/machinery/rnd/experimentor, +/turf/open/floor/engine, +/area/science/explab) +"bAS" = ( +/obj/machinery/camera{ + c_tag = "Quartermaster's Office"; + dir = 4 + }, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -35 + }, +/obj/machinery/status_display/supply{ + pixel_x = -32 + }, +/obj/machinery/computer/security/qm{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/qm) +"bAT" = ( +/obj/machinery/vending/wardrobe/jani_wardrobe, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bAU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bAV" = ( +/obj/machinery/door/window/westleft{ + name = "Janitorial Delivery"; + req_access_txt = "26" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bAX" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/curtain{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bAY" = ( +/obj/structure/curtain{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bAZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bBa" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bBb" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/atmos) +"bBc" = ( +/obj/structure/curtain{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/table/optable, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bBd" = ( +/obj/structure/table, +/obj/structure/bedsheetbin{ + pixel_x = 2 + }, +/obj/item/clothing/suit/straight_jacket, +/obj/item/clothing/mask/muzzle, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bBe" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bBf" = ( +/obj/structure/filingcabinet, +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = 30 + }, +/obj/machinery/newscaster{ + pixel_y = -32 + }, +/obj/machinery/camera{ + c_tag = "Security Post - Cargo"; + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/supply) +"bBg" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -29 + }, +/obj/machinery/light{ + light_color = "#cee5d2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBh" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBi" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBj" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBk" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/camera{ + c_tag = "Central Primary Hallway South-West"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBl" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBm" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bBn" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bBo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBp" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBq" = ( +/obj/structure/disposalpipe/junction/flip{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/sign/directions/engineering{ + pixel_x = -32; + pixel_y = -40 + }, +/obj/structure/sign/directions/medical{ + dir = 4; + pixel_x = -32; + pixel_y = -24 + }, +/obj/structure/sign/directions/evac{ + dir = 4; + pixel_x = -32; + pixel_y = -32 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBr" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/status_display/evac{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBs" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Central Primary Hallway South"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBu" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBv" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 8; + sortType = 22 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBw" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bBx" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBy" = ( +/obj/machinery/light, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/poster/contraband/space_up{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBA" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBB" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bBC" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bBE" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bBF" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/item/storage/firstaid/toxin, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/airalarm/unlocked{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bBG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bBH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall, +/area/cargo/miningdock) +"bBI" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/closet/wardrobe/miner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/item/radio/headset/headset_cargo/mining, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bBJ" = ( +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bBK" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bBL" = ( +/obj/machinery/vending/medical{ + pixel_x = -2 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bBN" = ( +/turf/closed/wall, +/area/command/heads_quarters/cmo) +"bBO" = ( +/obj/machinery/computer/med_data, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bBP" = ( +/obj/machinery/computer/crew, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Chief Medical Officer's Desk"; + departmentType = 5; + name = "Chief Medical Officer RC"; + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bBQ" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bBR" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/maintenance/aft) +"bBS" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ + dir = 4; + external_pressure_bound = 120; + name = "server vent" + }, +/turf/open/floor/circuit/red, +/area/science/server) +"bBU" = ( +/obj/machinery/atmospherics/pipe/simple{ + dir = 9 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/science/server) +"bBV" = ( +/obj/structure/sign/warning/securearea{ + desc = "A warning sign which reads 'SERVER ROOM'."; + name = "SERVER ROOM"; + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science/server) +"bBW" = ( +/obj/structure/table, +/obj/item/folder/white, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/science/server) +"bBX" = ( +/obj/machinery/computer/rdservercontrol{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/server) +"bBY" = ( +/obj/item/radio/intercom{ + pixel_x = -25 + }, +/obj/structure/filingcabinet, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/science) +"bBZ" = ( +/obj/item/screwdriver{ + pixel_y = 10 + }, +/obj/item/radio/off, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/science) +"bCa" = ( +/obj/machinery/power/apc{ + areastring = "/area/security/checkpoint/science"; + name = "Science Security APC"; + pixel_y = -24 + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/science) +"bCb" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/science) +"bCc" = ( +/obj/machinery/computer/secure_data{ + dir = 1 + }, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + pixel_y = -30 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/science) +"bCd" = ( +/obj/structure/disposalpipe/sorting/mail{ + dir = 8; + sortType = 15 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/light{ + light_color = "#cee5d2" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bCe" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bCf" = ( +/obj/machinery/power/apc{ + areastring = "/area/command/heads_quarters/rd"; + dir = 8; + name = "RD Office APC"; + pixel_x = -25 + }, +/obj/structure/cable, +/obj/machinery/light_switch{ + pixel_y = -23 + }, +/obj/item/kirbyplants/dead, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bCg" = ( +/obj/structure/table, +/obj/item/cartridge/signal/toxins, +/obj/item/cartridge/signal/toxins{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/cartridge/signal/toxins{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/machinery/camera{ + c_tag = "Research Director's Office"; + dir = 1; + network = list("ss13","rd") + }, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -29 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bCh" = ( +/obj/machinery/keycard_auth{ + pixel_y = -24 + }, +/obj/machinery/light, +/obj/machinery/computer/card/minor/rd{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bCi" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bCj" = ( +/obj/structure/closet/secure_closet/RD, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bCk" = ( +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"bCl" = ( +/obj/machinery/camera{ + c_tag = "Experimentor Lab Chamber"; + dir = 1; + network = list("ss13","rd") + }, +/obj/machinery/light, +/obj/structure/sign/warning/nosmoking{ + pixel_y = -32 + }, +/turf/open/floor/engine, +/area/science/explab) +"bCm" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bCn" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bCo" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bCp" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bCq" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/aft) +"bCr" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bCs" = ( +/turf/closed/wall/r_wall/syndicate, +/area/engineering/storage/tech) +"bCt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/mob/living/simple_animal/hostile/lizard{ + name = "Wags-His-Tail"; + real_name = "Wags-His-Tail" + }, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bCu" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bCv" = ( +/turf/closed/wall/r_wall/syndicate, +/area/service/janitor) +"bCw" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bCy" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/service/janitor) +"bCz" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/aft) +"bCA" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bCB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/surgery) +"bCC" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/bloodbankgen, +/obj/machinery/camera{ + c_tag = "Medbay Surgery Storage"; + dir = 6; + network = list("ss13","medbay") + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"bCD" = ( +/obj/machinery/computer/operating, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bCE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bCF" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/power/apc{ + areastring = "/area/medical/surgery"; + dir = 8; + name = "Treatment Center APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bCG" = ( +/obj/structure/table, +/obj/item/folder/white, +/obj/item/reagent_containers/dropper, +/obj/item/soap/nanotrasen, +/obj/item/gun/syringe/syndicate, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bCH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bCJ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bCK" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bCL" = ( +/obj/structure/closet/secure_closet/medical3, +/obj/machinery/camera{ + c_tag = "Medbay Storage"; + network = list("ss13","medbay") + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bCM" = ( +/obj/structure/closet/secure_closet/medical3, +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bCN" = ( +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bCO" = ( +/obj/structure/table, +/obj/item/storage/box/bodybags{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/box/rxglasses, +/obj/item/hand_labeler, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bCR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bCS" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/vehicle/ridden/wheelchair{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bCU" = ( +/obj/item/radio/intercom{ + frequency = 1485; + name = "Station Intercom (Medbay)"; + pixel_x = -30 + }, +/obj/machinery/camera{ + c_tag = "Medbay South"; + dir = 4; + network = list("ss13","medbay") + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bCV" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bCW" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bCX" = ( +/obj/effect/decal/cleanable/oil, +/obj/item/cigbutt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/science/storage) +"bCY" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bCZ" = ( +/obj/structure/chair/office/light, +/obj/effect/landmark/start/chief_medical_officer, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bDa" = ( +/obj/machinery/keycard_auth{ + pixel_x = 24 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bDb" = ( +/turf/closed/wall/r_wall/syndicate, +/area/science/xenobiology) +"bDc" = ( +/turf/closed/wall/r_wall/syndicate, +/area/science/storage) +"bDd" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bDe" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"bDf" = ( +/obj/machinery/light_switch{ + pixel_x = 27 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/science/storage) +"bDg" = ( +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bDh" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bDi" = ( +/obj/structure/sign/warning/docking{ + pixel_y = 32 + }, +/turf/open/space, +/area/space/nearstation) +"bDj" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/science/storage) +"bDk" = ( +/obj/structure/table, +/obj/item/folder/yellow, +/obj/item/pen, +/obj/machinery/requests_console{ + department = "Mining"; + pixel_x = -30 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bDl" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bDm" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bDn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bDo" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bDp" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bDq" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/obj/item/key/janitor, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bDr" = ( +/obj/item/restraints/legcuffs/beartrap, +/obj/item/restraints/legcuffs/beartrap, +/obj/item/storage/box/mousetraps, +/obj/item/storage/box/mousetraps, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bDs" = ( +/obj/structure/sign/poster/contraband/lusty_xenomorph{ + pixel_x = 32 + }, +/obj/structure/reagent_dispensers/watertank/high, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bDt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/aft) +"bDv" = ( +/obj/structure/table, +/obj/item/flashlight{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/flashlight{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/machinery/status_display/ai{ + pixel_x = -32 + }, +/obj/machinery/power/apc{ + areastring = "/area/engineering/storage/tech"; + dir = 1; + name = "Tech Storage APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bDw" = ( +/obj/structure/table, +/obj/item/screwdriver{ + pixel_y = 16 + }, +/obj/item/wirecutters, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bDx" = ( +/obj/structure/table, +/obj/item/electronics/apc, +/obj/item/electronics/airlock, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bDA" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"bDB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bDC" = ( +/obj/effect/landmark/start/medical_doctor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bDD" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bDE" = ( +/obj/machinery/vending/wallmed{ + pixel_x = 28 + }, +/obj/machinery/camera{ + c_tag = "Medbay Recovery Room"; + dir = 8; + network = list("ss13","medbay") + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/vehicle/ridden/wheelchair{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bDF" = ( +/obj/machinery/door/poddoor/preopen{ + id = "medpriv4"; + name = "privacy door" + }, +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/medical/medbay/central) +"bDG" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bDH" = ( +/obj/structure/closet/l3closet/janitor, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bDI" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bDJ" = ( +/obj/structure/closet/jcloset, +/obj/item/storage/bag/trash, +/obj/item/clothing/under/rank/civilian/janitor/maid, +/obj/item/clothing/under/rank/civilian/janitor/maid, +/obj/item/clothing/under/rank/civilian/janitor/maid, +/obj/item/clothing/under/costume/maid, +/obj/item/clothing/under/costume/maid, +/obj/item/clothing/under/costume/maid, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bDK" = ( +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/obj/machinery/camera{ + c_tag = "Custodial Closet" + }, +/obj/vehicle/ridden/janicart, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bDL" = ( +/obj/structure/sign/poster/contraband/lizard{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bDM" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bDN" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bDO" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/sign/poster/contraband/hacking_guide{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bDP" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + dir = 1; + freq = 1400; + location = "Janitor" + }, +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bDQ" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bDS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bDT" = ( +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bDU" = ( +/obj/machinery/door/airlock/command/glass{ + name = "Chief Medical Officer"; + req_access_txt = "40" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bDV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/sorting/mail{ + sortType = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"bDW" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Storage"; + req_access_txt = "5" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bDY" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/xeno_spawn, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/science/storage) +"bEa" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bEb" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/science/storage) +"bEc" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/science/storage) +"bEd" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Storage"; + req_access_txt = "5" + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) +"bEe" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bEf" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bEg" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/research{ + name = "Toxins Storage"; + req_access_txt = "8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/storage) +"bEh" = ( +/obj/structure/table/glass, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bEi" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/command/heads_quarters/cmo) +"bEj" = ( +/obj/structure/table/glass, +/obj/item/pen, +/obj/item/clothing/neck/stethoscope, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/mob/living/simple_animal/pet/cat/Runtime, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bEk" = ( +/obj/structure/table/glass, +/obj/item/folder/white, +/obj/item/stamp/cmo, +/obj/item/clothing/glasses/hud/health, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bEl" = ( +/obj/structure/disposalpipe/segment, +/obj/item/radio/intercom{ + pixel_x = 25 + }, +/obj/machinery/camera{ + c_tag = "Chief Medical Office"; + dir = 8; + network = list("ss13","medbay"); + pixel_y = -22 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bEm" = ( +/turf/open/floor/engine, +/area/science/xenobiology) +"bEn" = ( +/obj/machinery/camera{ + c_tag = "Xenobiology Test Chamber"; + network = list("xeno","rd") + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"bEo" = ( +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/effect/turf_decal/delivery, +/turf/open/floor/engine, +/area/science/storage) +"bEp" = ( +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/structure/sign/warning/nosmoking{ + pixel_y = 32 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/engine, +/area/science/storage) +"bEq" = ( +/obj/machinery/power/apc{ + areastring = "/area/science"; + dir = 8; + name = "Misc Research APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bEr" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science) +"bEs" = ( +/turf/closed/wall, +/area/science/mixing) +"bEt" = ( +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/dark, +/area/science) +"bEu" = ( +/obj/structure/closet/bombcloset, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bEv" = ( +/obj/structure/closet/bombcloset, +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bEw" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bEx" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/obj/machinery/camera{ + c_tag = "Toxins Lab West"; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bEy" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bEz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bEA" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bEB" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bEC" = ( +/turf/closed/wall/r_wall/syndicate, +/area/science/mixing) +"bED" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bEE" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bEF" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 4; + name = "4maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bEG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bEH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/science/mixing) +"bEI" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bEJ" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"bEK" = ( +/obj/machinery/camera{ + c_tag = "Mining Dock"; + dir = 4 + }, +/obj/machinery/computer/security/mining, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bEL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bEM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/science/mixing) +"bEN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/science) +"bEO" = ( +/obj/structure/sign/warning/securearea{ + pixel_x = -32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bEP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bEQ" = ( +/obj/effect/landmark/start/shaft_miner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bER" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bES" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall, +/area/maintenance/port/aft) +"bET" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bEU" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bEV" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bEW" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bEX" = ( +/obj/structure/table, +/obj/item/aicard, +/obj/item/ai_module/reset, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bEY" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bEZ" = ( +/obj/structure/table, +/obj/item/stack/cable_coil{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/stack/cable_coil, +/obj/item/stock_parts/cell/high/plus, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bFa" = ( +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bFb" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bFc" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/blobstart, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bFd" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bFe" = ( +/obj/machinery/door/airlock/engineering{ + name = "Tech Storage"; + req_access_txt = "23" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bFf" = ( +/obj/structure/chair/stool, +/obj/effect/landmark/start/janitor, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bFg" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bFh" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bFi" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bFj" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bFk" = ( +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, +/obj/structure/sign/poster/contraband/busty_backdoor_xeno_babes_6{ + pixel_x = 32 + }, +/obj/structure/closet, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bFl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/power/apc{ + areastring = "/area/service/janitor"; + dir = 8; + name = "Custodial Closet APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bFm" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/storage) +"bFn" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/maintenance/aft) +"bFo" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"bFp" = ( +/obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/APlus, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/OPlus{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/BPlus{ + pixel_x = 1; + pixel_y = 2 + }, +/obj/item/reagent_containers/blood/BMinus{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/reagent_containers/blood/AMinus, +/obj/item/reagent_containers/blood, +/obj/item/reagent_containers/blood, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 8; + sortType = 6 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"bFq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bFr" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bFs" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Custodial Maintenance"; + req_access_txt = "26" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"bFt" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/closet/crate/freezer/surplus_limbs, +/obj/item/reagent_containers/glass/beaker/synthflesh, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"bFu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/surgery) +"bFv" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bFw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/sign/warning/nosmoking{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bFx" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/limbgrower, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"bFy" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bFz" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/machinery/iv_drip, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bFA" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/machinery/requests_console{ + department = "Medbay"; + departmentType = 1; + name = "Medbay RC"; + pixel_x = 30 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bFB" = ( +/obj/structure/closet/secure_closet/medical2, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bFC" = ( +/obj/structure/table/wood/poker, +/obj/item/clothing/mask/cigarette/cigar{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4; + pixel_y = 5 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"bFD" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bFE" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/cmo{ + dir = 1; + pixel_y = -24 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bFF" = ( +/obj/machinery/light, +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bFG" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bFH" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/light_switch{ + pixel_x = 28 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bFI" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/science/storage) +"bFJ" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bFK" = ( +/obj/structure/closet/wardrobe/pjs, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bFL" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bFM" = ( +/obj/structure/disposalpipe/junction/flip{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bFN" = ( +/obj/structure/table, +/obj/item/cartridge/medical{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/item/cartridge/medical{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/cartridge/medical, +/obj/item/cartridge/chemistry{ + pixel_y = 2 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bFO" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/command/heads_quarters/cmo) +"bFP" = ( +/obj/machinery/computer/card/minor/cmo{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bFQ" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_x = -32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/science) +"bFR" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science) +"bFS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bFT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bFU" = ( +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bFV" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible, +/obj/machinery/meter, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bFW" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bFX" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bFY" = ( +/obj/machinery/door/airlock/maintenance{ + req_one_access_txt = "8;12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bFZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/science/mixing) +"bGa" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard) +"bGb" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/closed/wall/r_wall/syndicate, +/area/science/mixing) +"bGc" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science/mixing) +"bGd" = ( +/obj/machinery/doppler_array/research/science{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bGe" = ( +/turf/closed/wall/r_wall/syndicate, +/area/science/test_area) +"bGf" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating/airless, +/area/science/test_area) +"bGi" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/cargo/miningdock) +"bGj" = ( +/obj/machinery/computer/shuttle/mining{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bGk" = ( +/obj/structure/chair/stool, +/obj/effect/landmark/start/scientist, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bGl" = ( +/obj/item/assembly/prox_sensor{ + pixel_x = -4; + pixel_y = 1 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = 8; + pixel_y = 9 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = 9; + pixel_y = -2 + }, +/obj/item/assembly/prox_sensor{ + pixel_y = 2 + }, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bGm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bGn" = ( +/obj/structure/closet/secure_closet/miner, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bGo" = ( +/obj/machinery/door/airlock/maintenance/abandoned{ + name = "Firefighting equipment"; + req_access_txt = "12" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bGp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bGq" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bGr" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bGs" = ( +/obj/machinery/camera{ + c_tag = "Secure Tech Storage" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/storage/tech) +"bGt" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/AI, +/turf/open/floor/plasteel/dark, +/area/engineering/storage/tech) +"bGu" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/storage/tech) +"bGv" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 5 + }, +/obj/item/multitool, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bGw" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/rnd, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bGx" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/tcomms, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bGy" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/service, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bGz" = ( +/obj/structure/table/reinforced, +/obj/item/wrench, +/obj/item/screwdriver{ + pixel_y = 10 + }, +/obj/item/analyzer, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bGA" = ( +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bGB" = ( +/obj/structure/table, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/machinery/requests_console{ + department = "Janitorial"; + departmentType = 1; + pixel_y = -29 + }, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bGC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/research{ + name = "Toxins Launch Room Access"; + req_access_txt = "7" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bGD" = ( +/obj/structure/janitorialcart, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bGE" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"bGF" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bGG" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bGI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance{ + name = "Surgery Maintenance"; + req_access_txt = "45" + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bGJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bGK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bGL" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bGM" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bGN" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bGO" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bGP" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"bGQ" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/storage) +"bGR" = ( +/obj/structure/table, +/obj/item/storage/belt/medical{ + pixel_y = 2 + }, +/obj/item/storage/belt/medical{ + pixel_y = 2 + }, +/obj/item/storage/belt/medical{ + pixel_y = 2 + }, +/obj/item/clothing/neck/stethoscope, +/obj/item/gun/syringe/dart, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bGT" = ( +/obj/structure/table, +/obj/item/folder/white, +/obj/item/clothing/neck/stethoscope, +/obj/machinery/vending/wallmed{ + pixel_y = 28 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bGU" = ( +/obj/structure/closet/secure_closet/personal/patient, +/obj/machinery/button/door{ + id = "medpriv4"; + name = "Privacy Shutters"; + pixel_y = 25 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bGV" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bGW" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, +/turf/closed/wall/r_wall/syndicate, +/area/medical/storage) +"bGX" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bGY" = ( +/obj/machinery/portable_atmospherics/scrubber/huge, +/obj/effect/turf_decal/bot, +/turf/open/floor/engine, +/area/science/storage) +"bGZ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/holopad/secure, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bHa" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall, +/area/command/heads_quarters/cmo) +"bHb" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bHc" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -27 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bHd" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bHe" = ( +/obj/machinery/power/apc{ + areastring = "/area/science/storage"; + dir = 8; + name = "Toxins Storage APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/camera{ + c_tag = "Toxins Storage"; + dir = 4; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/science/storage) +"bHf" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bHh" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bHi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bHj" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bHk" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bHl" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bHm" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/research{ + name = "Toxins Lab"; + req_access_txt = "7" + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bHn" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/aft) +"bHo" = ( +/obj/structure/closet, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/aft) +"bHp" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bHq" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bHr" = ( +/obj/effect/turf_decal/caution/stand_clear/red, +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"bHs" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plasteel/dark, +/area/science) +"bHt" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bHu" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bHv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bHw" = ( +/obj/item/target, +/obj/structure/window/reinforced, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/test_area) +"bHy" = ( +/obj/structure/closet/crate, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_x = 27 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bHz" = ( +/obj/item/stack/ore/iron, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bHA" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bHC" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bHD" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/chair/stool, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bHE" = ( +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bHG" = ( +/obj/structure/rack, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/spawner/lootdrop/techstorage/command, +/turf/open/floor/plasteel/dark, +/area/engineering/storage/tech) +"bHH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bHI" = ( +/obj/machinery/door/airlock/highsecurity{ + name = "Secure Tech Storage"; + req_access_txt = "19;23" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bHJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bHK" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/science) +"bHL" = ( +/obj/machinery/camera{ + c_tag = "Research Division South"; + dir = 8 + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel/dark, +/area/science) +"bHM" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science) +"bHN" = ( +/obj/machinery/requests_console{ + department = "Tech storage"; + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bHO" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/electrical{ + pixel_x = 1; + pixel_y = -1 + }, +/obj/item/multitool, +/obj/item/clothing/glasses/meson, +/obj/machinery/light/small, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bHP" = ( +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bHQ" = ( +/obj/machinery/vending/assist, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bHR" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/camera{ + c_tag = "Aft Primary Hallway 2"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bHS" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bHT" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/medical/medbay/central) +"bHU" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/event_spawn, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/maintenance/aft) +"bHV" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/aft"; + dir = 8; + name = "Aft Maintenance APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bHX" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/maintenance/aft) +"bHY" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bIa" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bIb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/science) +"bIc" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/machinery/iv_drip, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -23 + }, +/obj/machinery/camera{ + c_tag = "Surgery Operating"; + dir = 1; + network = list("ss13","medbay"); + pixel_x = 22 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bId" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/machinery/iv_drip, +/obj/machinery/light, +/obj/machinery/vending/wallmed{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"bIe" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/status_display/evac{ + pixel_x = -32 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bIf" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/doorButtons/access_button{ + idDoor = "virology_airlock_exterior"; + idSelf = "virology_airlock_control"; + name = "Virology Access Button"; + pixel_x = -24; + req_access_txt = "39" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/virology{ + autoclose = 0; + frequency = 1449; + id_tag = "virology_airlock_exterior"; + name = "Virology Exterior Airlock"; + req_access_txt = "39" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bIg" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2; + sortType = 13 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bIh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bIi" = ( +/obj/structure/table, +/obj/item/storage/firstaid/o2{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/regular{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bIj" = ( +/obj/structure/table, +/obj/machinery/light, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health, +/obj/item/hand_labeler, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bIk" = ( +/obj/structure/table, +/obj/item/storage/firstaid/fire{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/regular{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/machinery/door/window/northright{ + name = "First-Aid Supplies"; + red_alert_access = 1; + req_access_txt = "5" + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bIl" = ( +/obj/structure/table, +/obj/item/storage/firstaid/toxin{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/regular{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/machinery/door/window/northleft{ + name = "First-Aid Supplies"; + red_alert_access = 1; + req_access_txt = "5" + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bIm" = ( +/obj/machinery/light, +/obj/machinery/rnd/production/techfab/department/medical, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bIn" = ( +/obj/structure/table, +/obj/item/storage/firstaid/brute{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/firstaid/brute, +/obj/item/storage/firstaid/regular{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bIo" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bIp" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bIq" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bIr" = ( +/obj/machinery/door/airlock/medical{ + name = "Patient Room"; + req_access_txt = "5" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bIs" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance{ + name = "Xenobiology Maintenance"; + req_access_txt = "55" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bIt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bIu" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bIv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bIw" = ( +/obj/structure/closet/secure_closet/CMO, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/cmo) +"bIx" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall/syndicate, +/area/science/xenobiology) +"bIy" = ( +/obj/structure/disposaloutlet{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/engine, +/area/science/xenobiology) +"bIz" = ( +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/obj/effect/turf_decal/bot, +/turf/open/floor/engine, +/area/science/storage) +"bIA" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/bot, +/turf/open/floor/engine, +/area/science/storage) +"bIB" = ( +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/obj/effect/turf_decal/bot, +/turf/open/floor/engine, +/area/science/storage) +"bIC" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/science/storage) +"bID" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/science) +"bIE" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bIF" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bIG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bIH" = ( +/obj/machinery/pipedispenser/disposal, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bII" = ( +/obj/item/storage/secure/safe{ + pixel_x = 5; + pixel_y = 29 + }, +/obj/machinery/camera{ + c_tag = "Virology Break Room"; + network = list("ss13","medbay") + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bIJ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bIK" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bIL" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bIM" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/sign/warning/securearea{ + pixel_x = 32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bIN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/science/xenobiology) +"bIO" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bIP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/chair/comfy/black, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bIQ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bIR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bIS" = ( +/obj/machinery/door/airlock/research{ + name = "Toxins Launch Room"; + req_access_txt = "7" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bIT" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/sign/departments/xenobio{ + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"bIU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bIV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bIW" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bIX" = ( +/obj/structure/sign/warning/securearea{ + desc = "A warning sign which reads 'BOMB RANGE"; + name = "BOMB RANGE" + }, +/turf/closed/wall/r_wall/syndicate, +/area/science/test_area) +"bIY" = ( +/obj/structure/chair, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/science/test_area) +"bIZ" = ( +/obj/structure/chair, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/science/test_area) +"bJa" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/test_area) +"bJb" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "Mining Dock Airlock"; + req_access_txt = "48"; + shuttledocked = 1 + }, +/turf/open/floor/plating, +/area/cargo/miningdock) +"bJc" = ( +/obj/docking_port/stationary{ + dir = 8; + dwidth = 3; + height = 5; + id = "mining_home"; + name = "mining shuttle bay"; + roundstart_template = /datum/map_template/shuttle/mining/box; + width = 7 + }, +/turf/open/space/basic, +/area/space) +"bJd" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/mining/glass{ + name = "Mining Dock"; + req_access_txt = "48" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bJe" = ( +/obj/structure/table, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bJf" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bJg" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/storage/tech) +"bJh" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/RnD_secure, +/turf/open/floor/plasteel/dark, +/area/engineering/storage/tech) +"bJi" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/storage/tech) +"bJj" = ( +/obj/structure/table, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bJk" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/medical, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bJl" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/engineering, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bJm" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/security, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bJn" = ( +/obj/machinery/light_switch{ + pixel_x = 27 + }, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bJp" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bJq" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bJr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bJs" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bJt" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"bJu" = ( +/obj/structure/light_construct{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/construction) +"bJv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bJw" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bJx" = ( +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"bJy" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bJz" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/extinguisher_cabinet{ + pixel_x = -27; + pixel_y = 1 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bJA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/storage) +"bJB" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bJD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/medbay/central) +"bJE" = ( +/turf/closed/wall/r_wall/syndicate, +/area/medical/medbay/central) +"bJF" = ( +/obj/machinery/pipedispenser/disposal/transit_tube, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bJG" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bJH" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/shieldwallgen/xenobiologyaccess, +/turf/open/floor/plating, +/area/science/xenobiology) +"bJI" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/preopen{ + id = "misclab"; + name = "test chamber blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) +"bJJ" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/preopen{ + id = "misclab"; + name = "test chamber blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) +"bJK" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/preopen{ + id = "misclab"; + name = "test chamber blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) +"bJM" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "misclab"; + name = "test chamber blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) +"bJN" = ( +/turf/closed/wall, +/area/science/xenobiology) +"bJO" = ( +/obj/machinery/door/airlock/research{ + name = "Testing Lab"; + req_access_txt = "47" + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bJP" = ( +/obj/effect/spawner/lootdrop/keg, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bJQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bJR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/science/storage) +"bJT" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/plasteel/dark, +/area/science) +"bJU" = ( +/obj/machinery/vending/wardrobe/science_wardrobe, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bJV" = ( +/obj/structure/closet/l3closet/scientist{ + pixel_x = -2 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bJW" = ( +/obj/item/transfer_valve{ + pixel_x = -5 + }, +/obj/item/transfer_valve{ + pixel_x = -5 + }, +/obj/item/transfer_valve, +/obj/item/transfer_valve, +/obj/item/transfer_valve{ + pixel_x = 5 + }, +/obj/item/transfer_valve{ + pixel_x = 5 + }, +/obj/machinery/requests_console{ + department = "Science"; + departmentType = 2; + name = "Science Requests Console"; + pixel_y = -30; + receive_ore_updates = 1 + }, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bJX" = ( +/obj/item/assembly/signaler{ + pixel_y = 8 + }, +/obj/item/assembly/signaler{ + pixel_x = -8; + pixel_y = 5 + }, +/obj/item/assembly/signaler{ + pixel_x = 6; + pixel_y = 5 + }, +/obj/item/assembly/signaler{ + pixel_x = -2; + pixel_y = -2 + }, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bJY" = ( +/obj/structure/tank_dispenser, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bJZ" = ( +/obj/item/assembly/timer{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/assembly/timer{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/assembly/timer{ + pixel_x = 6; + pixel_y = -4 + }, +/obj/item/assembly/timer, +/obj/structure/table/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bKa" = ( +/obj/machinery/power/apc{ + areastring = "/area/science/mixing"; + dir = 4; + name = "Toxins Lab APC"; + pixel_x = 24 + }, +/obj/structure/cable, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bKb" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/science) +"bKc" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bKd" = ( +/obj/machinery/camera{ + c_tag = "Toxins Launch Room Access"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"bKe" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/science/mixing) +"bKf" = ( +/obj/machinery/door/window/southleft{ + name = "Mass Driver Door"; + req_access_txt = "7" + }, +/obj/effect/turf_decal/loading_area, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bKg" = ( +/turf/open/floor/plasteel/dark, +/area/science/test_area) +"bKh" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/science/test_area) +"bKi" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/science/test_area) +"bKj" = ( +/obj/machinery/camera{ + c_tag = "Mining Dock External"; + dir = 8 + }, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bKk" = ( +/obj/item/stack/ore/silver{ + amount = 2 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bKl" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bKm" = ( +/obj/structure/sign/warning/vacuum/external, +/turf/closed/wall, +/area/cargo/miningdock) +"bKn" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/pickaxe{ + pixel_x = 5 + }, +/obj/item/shovel{ + pixel_x = -5 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bKo" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bKp" = ( +/obj/structure/closet/crate, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bKq" = ( +/obj/machinery/mineral/equipment_vendor, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"bKr" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bKs" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bKt" = ( +/obj/structure/table, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bKu" = ( +/obj/structure/table, +/obj/item/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/amplifier, +/obj/item/stock_parts/subspace/amplifier, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bKv" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bKx" = ( +/obj/structure/closet/crate, +/obj/effect/landmark/blobstart, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/construction) +"bKy" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/aft) +"bKz" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bKA" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plating, +/area/construction) +"bKB" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bKC" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bKD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bKE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"bKF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/chair/office/dark{ + dir = 4 + }, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"bKG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/warning/securearea{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bKH" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bKI" = ( +/obj/structure/disposalpipe/sorting/mail{ + dir = 8; + sortType = 11 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bKJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bKK" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"bKL" = ( +/obj/machinery/power/apc{ + areastring = "/area/medical/medbay/central"; + dir = 1; + name = "Medbay Central APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bKM" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bKN" = ( +/obj/machinery/door/airlock/medical{ + name = "Apothecary"; + req_access_txt = "5" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bKO" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bKP" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/window/westleft{ + name = "Delivery Desk"; + req_access_txt = "50" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel, +/area/cargo/sorting) +"bKQ" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bKR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall, +/area/medical/medbay/central) +"bKS" = ( +/obj/machinery/power/apc{ + areastring = "/area/command/heads_quarters/cmo"; + dir = 1; + name = "CMO Office APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bKT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bKU" = ( +/obj/machinery/door/airlock/engineering/abandoned{ + name = "Construction Area"; + req_access_txt = "32" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/construction) +"bKV" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bKW" = ( +/obj/item/wrench, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bKX" = ( +/obj/machinery/button/door{ + id = "misclab"; + name = "Test Chamber Blast Doors"; + pixel_y = -2; + req_access_txt = "55" + }, +/obj/structure/table/reinforced, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bKY" = ( +/obj/machinery/computer/security/telescreen{ + name = "Test Chamber Monitor"; + network = list("xeno"); + pixel_y = 2 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bKZ" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bLb" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bLc" = ( +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/item/clothing/glasses/science, +/obj/item/clothing/glasses/science, +/obj/structure/table, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bLd" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/machinery/doorButtons/access_button{ + idDoor = "virology_airlock_interior"; + idSelf = "virology_airlock_control"; + name = "Virology Access Button"; + pixel_x = 8; + pixel_y = -28; + req_access_txt = "39" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bLe" = ( +/obj/structure/sign/warning/biohazard, +/turf/closed/wall/r_wall/syndicate, +/area/science/xenobiology) +"bLf" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bLg" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bLh" = ( +/obj/structure/sign/warning/fire, +/turf/closed/wall/r_wall/syndicate, +/area/science) +"bLi" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bLj" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/science/mixing) +"bLk" = ( +/obj/machinery/mass_driver{ + dir = 4; + id = "toxinsdriver" + }, +/turf/open/floor/plating, +/area/science/mixing) +"bLl" = ( +/obj/machinery/door/poddoor{ + id = "toxinsdriver"; + name = "toxins launcher bay door" + }, +/obj/structure/fans/tiny, +/turf/open/floor/plating, +/area/science/mixing) +"bLm" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/science/mixing) +"bLn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/test_area) +"bLo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/test_area) +"bLp" = ( +/obj/item/beacon, +/turf/open/floor/plasteel/dark, +/area/science/test_area) +"bLq" = ( +/turf/closed/indestructible{ + desc = "A wall impregnated with Fixium, able to withstand massive explosions with ease"; + icon_state = "riveted"; + name = "hyper-reinforced wall" + }, +/area/science/test_area) +"bLr" = ( +/obj/item/target/alien/anchored, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/camera/preset/toxins{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/test_area) +"bLu" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bLv" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bLw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bLx" = ( +/obj/structure/table, +/obj/item/stock_parts/subspace/transmitter, +/obj/item/stock_parts/subspace/transmitter, +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bLy" = ( +/obj/structure/table, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bLz" = ( +/obj/structure/table, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/machinery/light/small, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bLA" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/electrical{ + pixel_x = 1; + pixel_y = -1 + }, +/obj/item/clothing/gloves/color/yellow, +/obj/item/t_scanner, +/obj/item/multitool, +/obj/machinery/camera{ + c_tag = "Tech Storage"; + dir = 1 + }, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"bLB" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bLC" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/construction) +"bLD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/storage/tech) +"bLE" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"bLF" = ( +/obj/structure/filingcabinet/filingcabinet, +/obj/machinery/power/apc{ + areastring = "/area/cargo/sorting"; + name = "Delivery Office APC"; + pixel_x = 1; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"bLG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"bLH" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bLI" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bLJ" = ( +/obj/machinery/computer/atmos_control, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bLK" = ( +/turf/closed/wall/r_wall/syndicate, +/area/engineering/atmos) +"bLL" = ( +/obj/machinery/computer/station_alert, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bLM" = ( +/obj/machinery/computer/atmos_alert, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bLN" = ( +/obj/machinery/button/door{ + id = "atmos"; + name = "Atmospherics Lockdown"; + pixel_x = 24; + pixel_y = 4; + req_access_txt = "24" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bLO" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/maintenance{ + name = "Atmospherics Maintenance"; + req_access_txt = "24" + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bLQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/atmos) +"bLR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/atmos) +"bLS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"bLT" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"bLU" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/chem_dispenser/apothecary, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bLV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/chem_heater, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bLW" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bLX" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"bLY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bLZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bMa" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bMb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bMc" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Medbay Maintenance"; + req_access_txt = "5" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bMd" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bMe" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/junction, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"bMf" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 5 + }, +/obj/item/stack/cable_coil, +/obj/item/multitool, +/obj/item/stock_parts/cell/high/plus, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bMg" = ( +/obj/machinery/power/apc{ + areastring = "/area/science/xenobiology"; + dir = 8; + name = "Xenobiology APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bMh" = ( +/obj/structure/chair/stool, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bMi" = ( +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bMj" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/aft) +"bMk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bMl" = ( +/obj/machinery/processor/slime, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bMm" = ( +/obj/machinery/monkey_recycler, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bMn" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/structure/table/glass, +/obj/machinery/reagentgrinder{ + desc = "Used to grind things up into raw materials and liquids."; + pixel_y = 5 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bMo" = ( +/obj/machinery/smartfridge/extract/preloaded, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bMp" = ( +/obj/structure/closet/l3closet/scientist, +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/obj/item/extinguisher, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bMq" = ( +/obj/structure/closet/l3closet/scientist, +/obj/item/extinguisher, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bMr" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/science/xenobiology) +"bMs" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science) +"bMt" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/turf/open/floor/engine/vacuum, +/area/science/mixing) +"bMu" = ( +/obj/machinery/door/poddoor/incinerator_toxmix, +/turf/open/floor/engine/vacuum, +/area/science/mixing) +"bMv" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/science/mixing) +"bMw" = ( +/obj/machinery/sparker/toxmix{ + pixel_x = 25 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxins_mixing_output{ + dir = 4 + }, +/turf/open/floor/engine/vacuum, +/area/science/mixing) +"bMx" = ( +/obj/machinery/airlock_sensor/incinerator_toxmix{ + pixel_y = 24 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/engine, +/area/science/mixing) +"bMy" = ( +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4; + name = "mix to port" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bMz" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/meter, +/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_toxmix{ + pixel_x = -24 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bMA" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bMB" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bMC" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bMD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/science/test_area) +"bME" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/science/test_area) +"bMG" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bMH" = ( +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bMI" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bMJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bMK" = ( +/turf/closed/wall, +/area/engineering/atmos) +"bML" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bMN" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/heater, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bMO" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bMP" = ( +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bMQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/atmos) +"bMR" = ( +/obj/machinery/pipedispenser, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bMS" = ( +/obj/machinery/camera{ + c_tag = "Atmospherics North East" + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Distro to Waste" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bMT" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/meter/atmos/atmos_waste_loop, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bMU" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/visible{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bMV" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/visible, +/obj/machinery/meter/atmos/distro_loop, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bMW" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bMX" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Air to Distro" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bMZ" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/heater/on, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bNc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/medical/virology) +"bNd" = ( +/turf/closed/wall/r_wall/syndicate, +/area/medical/virology) +"bNe" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/table, +/obj/item/hand_labeler, +/obj/item/clothing/glasses/science, +/obj/item/clothing/glasses/science, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bNf" = ( +/obj/structure/sign/warning/biohazard, +/turf/closed/wall/r_wall/syndicate, +/area/medical/virology) +"bNg" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bNh" = ( +/obj/machinery/computer/pandemic, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bNi" = ( +/obj/structure/chair/stool, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bNj" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/virology/glass{ + name = "Isolation A"; + req_access_txt = "39" + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bNk" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/medical/virology) +"bNl" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/virology/glass{ + name = "Isolation B"; + req_access_txt = "39" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bNm" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bNn" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bNo" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bNp" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bNq" = ( +/obj/structure/table, +/obj/item/stack/sheet/glass/fifty{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/mineral/plasma, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bNr" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + name = "Xenobiology Lab"; + req_access_txt = "55" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bNs" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bNt" = ( +/turf/open/floor/engine/vacuum, +/area/science/mixing) +"bNu" = ( +/obj/machinery/door/airlock/research/glass/incinerator/toxmix_exterior, +/turf/open/floor/engine, +/area/science/mixing) +"bNv" = ( +/obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior, +/turf/open/floor/engine, +/area/science/mixing) +"bNw" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_toxmix, +/turf/open/floor/engine, +/area/science/mixing) +"bNx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bNy" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bNz" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/machinery/camera{ + c_tag = "Toxins Lab East"; + dir = 8; + network = list("ss13","rd"); + pixel_y = -22 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bNA" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bNB" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bND" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/science/test_area) +"bNE" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/science/test_area) +"bNF" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/test_area) +"bNG" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science/test_area) +"bNH" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom{ + pixel_y = -26 + }, +/obj/item/paper_bin{ + pixel_x = -3 + }, +/obj/item/pen{ + pixel_x = -3 + }, +/obj/item/folder/yellow{ + pixel_x = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"bNI" = ( +/turf/closed/wall/r_wall/syndicate, +/area/construction) +"bNJ" = ( +/turf/open/floor/plating, +/area/construction) +"bNK" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining/glass{ + name = "Cargo Office"; + req_access_txt = "50" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bNN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bNO" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bNP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bNQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bNR" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Atmospherics Monitoring" + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bNS" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bNT" = ( +/obj/machinery/camera{ + c_tag = "Atmospherics North West"; + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bNU" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plating, +/area/medical/virology) +"bNV" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bNW" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bNX" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bNY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/atmos) +"bNZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bOb" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bOc" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Mix to Distro" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bOd" = ( +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bOe" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 8 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bOf" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 10 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/atmos) +"bOh" = ( +/obj/structure/grille, +/turf/closed/wall/r_wall, +/area/engineering/atmos) +"bOi" = ( +/obj/structure/table/reinforced, +/obj/item/grenade/barrier, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"bOj" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/virology) +"bOk" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bOl" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/announcement_system, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bOm" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bOn" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bOo" = ( +/obj/item/radio/intercom{ + dir = 8; + freerange = 1; + name = "Station Intercom (Telecomms)"; + pixel_y = 26 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bOp" = ( +/obj/structure/closet/emcloset, +/obj/machinery/camera{ + c_tag = "Virology Airlock"; + network = list("ss13","medbay") + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bOq" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bOr" = ( +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bOs" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bOt" = ( +/mob/living/carbon/monkey, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bOu" = ( +/obj/structure/rack, +/obj/item/clothing/mask/gas{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bOv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bOw" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bOx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bOy" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bOz" = ( +/obj/structure/chair/stool, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bOA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/item/kirbyplants, +/turf/open/floor/plasteel/dark, +/area/science) +"bOB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bOC" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bOD" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bOE" = ( +/obj/machinery/sparker/toxmix{ + pixel_x = 25 + }, +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxins_mixing_input{ + dir = 4 + }, +/turf/open/floor/engine/vacuum, +/area/science/mixing) +"bOF" = ( +/obj/structure/sign/warning/fire{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/engine, +/area/science/mixing) +"bOG" = ( +/obj/machinery/light, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4; + name = "port to mix" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bOH" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/meter, +/obj/machinery/button/door/incinerator_vent_toxmix{ + pixel_x = -25; + pixel_y = 5 + }, +/obj/machinery/button/ignition/incinerator/toxmix{ + pixel_x = -25; + pixel_y = -5 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bOI" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"bOJ" = ( +/obj/item/target, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/test_area) +"bOK" = ( +/obj/structure/barricade/wooden, +/obj/structure/girder, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bOL" = ( +/obj/structure/closet/crate, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"bOM" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/item/pen/fountain, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bON" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kanyewest"; + name = "privacy shutters" + }, +/turf/open/floor/plating, +/area/security/detectives_office) +"bOO" = ( +/obj/machinery/power/apc{ + areastring = "/area/security/checkpoint/engineering"; + dir = 8; + name = "Engineering Security APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/engineering) +"bOP" = ( +/obj/structure/table/glass, +/obj/structure/reagent_dispensers/virusfood{ + pixel_x = -30 + }, +/obj/item/book/manual/wiki/infections{ + pixel_y = 7 + }, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/spray/cleaner, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bOR" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bOS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bOT" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/plasticflaps/opaque, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=4"; + dir = 4; + freq = 1400; + location = "Atmospherics" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/northleft{ + dir = 4; + name = "Atmospherics Desk"; + req_access_txt = "24" + }, +/turf/open/floor/plasteel, +/area/engineering/atmos) +"bOU" = ( +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bOV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bOW" = ( +/obj/machinery/requests_console{ + department = "Atmospherics"; + departmentType = 4; + name = "Atmos RC"; + pixel_x = 30 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/computer/atmos_control{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bOX" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bOY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/atmos) +"bOZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bPa" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/atmos) +"bPb" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research/glass{ + name = "Circuitry Lab"; + req_access_txt = "47" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"bPc" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Mix to Waste" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bPd" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bPe" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Pure to Ports" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bPf" = ( +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bPg" = ( +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bPh" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engineering/atmos) +"bPi" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bPj" = ( +/obj/machinery/atmospherics/pipe/simple{ + dir = 4 + }, +/obj/structure/grille, +/obj/machinery/meter, +/turf/closed/wall/r_wall, +/area/engineering/atmos) +"bPk" = ( +/obj/machinery/camera{ + c_tag = "Atmospherics Waste Tank" + }, +/turf/open/floor/engine/vacuum, +/area/engineering/atmos) +"bPl" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/mix_output{ + dir = 8 + }, +/turf/open/floor/engine/vacuum, +/area/engineering/atmos) +"bPm" = ( +/turf/open/floor/engine/vacuum, +/area/engineering/atmos) +"bPn" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/aft) +"bPo" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_x = -3; + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bPp" = ( +/obj/machinery/iv_drip, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bPq" = ( +/obj/machinery/shower{ + dir = 4 + }, +/obj/structure/sign/warning/securearea{ + pixel_x = -32 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bPr" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/closet/l3closet, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bPs" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bPt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/mob/living/carbon/monkey, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bPu" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bPw" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/virology) +"bPx" = ( +/obj/machinery/disposal/bin, +/obj/structure/sign/warning/deathsposal{ + pixel_y = -32 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bPz" = ( +/obj/structure/table/glass, +/obj/item/storage/box/beakers{ + pixel_x = 2; + pixel_y = 7 + }, +/obj/item/storage/box/syringes{ + pixel_y = 5 + }, +/obj/item/storage/box/monkeycubes{ + pixel_x = 2; + pixel_y = -2 + }, +/obj/item/storage/box/monkeycubes, +/obj/machinery/light, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bPA" = ( +/obj/machinery/computer/camera_advanced/xenobio{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bPE" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/portable_atmospherics/canister/bz, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bPF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"bPG" = ( +/obj/machinery/chem_master, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -29 + }, +/obj/machinery/light, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bPH" = ( +/obj/machinery/requests_console{ + department = "Science"; + departmentType = 2; + name = "Science Requests Console"; + pixel_y = -30; + receive_ore_updates = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/table/reinforced, +/obj/item/slime_scanner, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/glasses/science, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bPI" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bPJ" = ( +/obj/structure/table/glass, +/obj/item/stack/sheet/mineral/plasma{ + pixel_y = 4 + }, +/obj/item/stack/sheet/mineral/plasma{ + pixel_y = 4 + }, +/obj/item/stack/sheet/mineral/plasma{ + pixel_y = 4 + }, +/obj/item/stack/sheet/mineral/plasma{ + pixel_y = 4 + }, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/reagent_containers/glass/beaker/large{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/reagent_containers/dropper, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bPK" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/science/misc_lab) +"bPL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"bPO" = ( +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bPP" = ( +/obj/structure/table/reinforced, +/obj/structure/table/reinforced, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"bPQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bPU" = ( +/obj/item/shard, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bPV" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Maint Bar Access"; + req_access_txt = "12" + }, +/obj/structure/barricade/wooden{ + name = "wooden barricade (CLOSED)" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bPW" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bPX" = ( +/obj/structure/closet/emcloset, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bPY" = ( +/obj/structure/girder, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bPZ" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bQa" = ( +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bQb" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bQc" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plating, +/area/construction) +"bQd" = ( +/obj/structure/table, +/obj/item/folder/blue, +/obj/item/pen/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bQe" = ( +/obj/item/screwdriver{ + pixel_y = 10 + }, +/obj/machinery/button/door{ + desc = "A remote control-switch for the engineering security doors."; + id = "Engineering"; + name = "Engineering Lockdown"; + pixel_x = -24; + pixel_y = -6; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/radio/off, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/light_switch{ + pixel_x = -27; + pixel_y = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/engineering) +"bQg" = ( +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bQh" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bQi" = ( +/obj/machinery/door/poddoor/preopen{ + id = "atmos"; + name = "Atmospherics Blast Door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/atmos) +"bQj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bQk" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bQl" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/computer/atmos_alert{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bQm" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bQn" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "atmos"; + name = "Atmospherics Blast Door" + }, +/turf/open/floor/plating, +/area/engineering/atmos) +"bQp" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bQq" = ( +/obj/machinery/camera{ + c_tag = "Security Post - Engineering"; + dir = 8 + }, +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_x = 27 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/vending/wardrobe/sec_wardrobe, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/engineering) +"bQs" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Air to Waste" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bQt" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bQv" = ( +/obj/machinery/atmospherics/pipe/simple/purple/visible, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bQx" = ( +/obj/machinery/atmospherics/pipe/manifold/green/visible{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bQy" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/atmos) +"bQz" = ( +/obj/machinery/computer/atmos_control/tank/mix_tank{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bQA" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating/airless, +/area/engineering/atmos) +"bQB" = ( +/obj/machinery/air_sensor/atmos/mix_tank, +/turf/open/floor/engine/vacuum, +/area/engineering/atmos) +"bQC" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/engine/vacuum, +/area/engineering/atmos) +"bQD" = ( +/obj/structure/chair/stool, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bQE" = ( +/obj/structure/table, +/obj/item/storage/box/donkpockets{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bQF" = ( +/obj/machinery/vending/wardrobe/viro_wardrobe, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bQG" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/science/circuit) +"bQH" = ( +/obj/structure/closet/l3closet, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bQI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"bQJ" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bQK" = ( +/obj/machinery/door/airlock/command/glass{ + name = "Control Room"; + req_access_txt = "19; 61" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bQM" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bQN" = ( +/obj/machinery/door/firedoor, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Xenobiology North"; + dir = 8; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bQO" = ( +/obj/structure/closet/bombcloset, +/obj/machinery/light_switch{ + pixel_x = -20 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bQP" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/tcommsat/computer) +"bQQ" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bQR" = ( +/obj/structure/table, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/item/storage/toolbox/mechanical, +/obj/item/clothing/ears/earmuffs, +/obj/machinery/camera{ + c_tag = "Testing Lab North"; + network = list("ss13","rd") + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bQS" = ( +/obj/machinery/requests_console{ + department = "Science"; + departmentType = 2; + name = "Science Requests Console"; + pixel_y = 30; + receive_ore_updates = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bQT" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 1 + }, +/turf/open/floor/engine, +/area/science/misc_lab) +"bQU" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/misc_lab) +"bQV" = ( +/obj/machinery/atmospherics/components/trinary/filter{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/misc_lab) +"bQW" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/heater{ + dir = 8 + }, +/turf/open/floor/engine, +/area/science/misc_lab) +"bQY" = ( +/obj/structure/table/reinforced, +/obj/item/integrated_circuit_printer, +/obj/machinery/computer/security/telescreen/circuitry{ + pixel_y = 30 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"bQZ" = ( +/turf/closed/wall/r_wall/syndicate, +/area/science/misc_lab) +"bRa" = ( +/obj/structure/table/reinforced, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/stack/sheet/metal/ten, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"bRg" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bRh" = ( +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bRi" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bRj" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bRk" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/engineering) +"bRl" = ( +/obj/structure/light_construct{ + dir = 8 + }, +/turf/open/floor/plating, +/area/construction) +"bRm" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Security Office"; + req_access_txt = "63" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/engineering) +"bRn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/construction) +"bRo" = ( +/obj/machinery/computer/secure_data{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/engine{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/engineering) +"bRp" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bRq" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bRr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/structure/tank_dispenser, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bRs" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/window/northleft{ + dir = 4; + name = "Atmospherics Desk"; + req_access_txt = "24" + }, +/obj/machinery/door/poddoor/preopen{ + id = "atmos"; + name = "Atmospherics Blast Door" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/engineering/atmos) +"bRt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bRu" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/computer/atmos_alert{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bRv" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/obj/effect/landmark/start/atmospheric_technician, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bRw" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bRx" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bRy" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bRA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bRB" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Waste to Filter" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bRC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/atmos/glass{ + name = "Distribution Loop"; + req_access_txt = "24" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bRD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bRE" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Pure to Mix" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bRF" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Mix to Ports" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bRH" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bRI" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/atmos) +"bRJ" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4; + name = "Unfiltered & Air to Mix" + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bRK" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 6 + }, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"bRL" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/mix_input{ + dir = 8 + }, +/turf/open/floor/engine/vacuum, +/area/engineering/atmos) +"bRM" = ( +/obj/structure/table, +/obj/machinery/light_switch{ + pixel_x = -23 + }, +/obj/machinery/reagentgrinder, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bRO" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bRP" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/virology{ + autoclose = 0; + frequency = 1449; + id_tag = "virology_airlock_interior"; + name = "Virology Interior Airlock"; + req_access_txt = "39" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bRQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/virology) +"bRR" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/virology/glass{ + name = "Monkey Pen"; + req_access_txt = "39" + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bRS" = ( +/obj/structure/chair/office/dark, +/obj/effect/landmark/start/depsec/engineering, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/engineering) +"bRT" = ( +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/structure/disposaloutlet, +/turf/open/floor/engine, +/area/science/xenobiology) +"bRU" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"bRV" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bRW" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio3"; + name = "containment blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) +"bRY" = ( +/obj/structure/window/reinforced, +/obj/structure/table/reinforced, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + id = "xenobio8"; + name = "Containment Blast Doors"; + pixel_y = 4; + req_access_txt = "55" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bRZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bSa" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio8"; + name = "containment blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) +"bSb" = ( +/obj/structure/closet/l3closet/scientist{ + pixel_x = -2 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bSc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bSd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bSe" = ( +/obj/structure/table, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/item/electropack, +/obj/item/healthanalyzer, +/obj/item/assembly/signaler, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bSf" = ( +/obj/structure/chair/stool, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bSg" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/misc_lab) +"bSh" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible, +/turf/open/floor/engine, +/area/science/misc_lab) +"bSi" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 8 + }, +/turf/open/floor/engine, +/area/science/misc_lab) +"bSj" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 8 + }, +/turf/open/floor/engine, +/area/science/misc_lab) +"bSk" = ( +/obj/effect/landmark/start/scientist, +/obj/structure/chair/office/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"bSm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"bSn" = ( +/obj/effect/spawner/lootdrop/crate_spawner, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bSo" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bSp" = ( +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bSq" = ( +/obj/structure/rack, +/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) +"bSs" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bSt" = ( +/obj/structure/closet/emcloset, +/obj/machinery/camera{ + c_tag = "Telecomms Monitoring"; + dir = 8; + network = list("tcomms") + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bSv" = ( +/obj/machinery/camera{ + c_tag = "Construction Area"; + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plating, +/area/construction) +"bSw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bSx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/construction) +"bSy" = ( +/obj/machinery/light/small, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"bSz" = ( +/obj/structure/table, +/turf/open/floor/plating, +/area/construction) +"bSA" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bSC" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "atmos"; + name = "Atmospherics Blast Door" + }, +/turf/open/floor/plating, +/area/engineering/atmos) +"bSD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics Monitoring"; + req_access_txt = "24" + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bSF" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bSI" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bSM" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/turf/open/floor/plating, +/area/engineering/atmos) +"bSP" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/plating, +/area/engineering/atmos) +"bSQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bSR" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bSS" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/virology{ + name = "Break Room"; + req_access_txt = "39" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bST" = ( +/obj/machinery/doorButtons/airlock_controller{ + idExterior = "virology_airlock_exterior"; + idInterior = "virology_airlock_interior"; + idSelf = "virology_airlock_control"; + name = "Virology Access Console"; + pixel_x = 8; + pixel_y = 22; + req_access_txt = "39" + }, +/obj/machinery/light_switch{ + pixel_x = -4; + pixel_y = 24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bSU" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bSV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/firealarm{ + pixel_y = 25 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bSW" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bSX" = ( +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/medical/virology"; + dir = 1; + name = "Virology APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/camera{ + c_tag = "Virology Module"; + network = list("ss13","medbay") + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bSY" = ( +/obj/machinery/vending/medical, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bTf" = ( +/obj/structure/rack, +/obj/item/wrench, +/obj/item/crowbar, +/obj/machinery/computer/security/telescreen{ + name = "Test Chamber Monitor"; + network = list("test"); + pixel_y = -30 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bTg" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bTh" = ( +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bTi" = ( +/obj/structure/table, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/engineering) +"bTj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/security/checkpoint/engineering) +"bTk" = ( +/obj/machinery/atmospherics/components/binary/valve, +/turf/open/floor/engine, +/area/science/misc_lab) +"bTl" = ( +/turf/open/floor/engine, +/area/science/misc_lab) +"bTm" = ( +/obj/machinery/atmospherics/components/trinary/mixer/flipped{ + dir = 1 + }, +/turf/open/floor/engine, +/area/science/misc_lab) +"bTn" = ( +/obj/structure/table, +/obj/item/assembly/igniter{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/assembly/igniter{ + pixel_x = 5; + pixel_y = -4 + }, +/obj/item/assembly/igniter{ + pixel_x = 2; + pixel_y = 6 + }, +/obj/item/assembly/igniter{ + pixel_x = 2; + pixel_y = -1 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/assembly/timer{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/assembly/timer{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/assembly/timer{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/assembly/timer{ + pixel_x = -3; + pixel_y = 3 + }, +/turf/open/floor/engine, +/area/science/misc_lab) +"bTp" = ( +/obj/structure/table/reinforced, +/obj/item/stack/sheet/glass/fifty, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"bTr" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"bTz" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bTA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall, +/area/maintenance/port/aft) +"bTB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/aft) +"bTC" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/aft) +"bTD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bTE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bTF" = ( +/obj/structure/closet/emcloset, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bTG" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/pen, +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = 30 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/engineering) +"bTH" = ( +/obj/structure/table, +/obj/item/book/manual/wiki/security_space_law, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/engineering) +"bTI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/holopad/secure, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bTJ" = ( +/obj/machinery/power/apc{ + areastring = "/area/hallway/primary/aft"; + dir = 8; + name = "Aft Hall APC"; + pixel_x = -25; + pixel_y = 1 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bTK" = ( +/obj/item/crowbar, +/obj/item/wrench, +/obj/structure/window/reinforced, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bTL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall, +/area/engineering/atmos) +"bTM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bTN" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/obj/structure/closet/secure_closet/atmospherics, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bTO" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bTP" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bTT" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 1 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bTU" = ( +/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bTV" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "N2O to Pure" + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bTW" = ( +/turf/open/floor/engine/n2o, +/area/engineering/atmos) +"bTX" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/nitrous_output{ + dir = 8 + }, +/turf/open/floor/engine/n2o, +/area/engineering/atmos) +"bTY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/virology) +"bTZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/virology) +"bUa" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/virology) +"bUb" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bUc" = ( +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Telecomms Admin"; + departmentType = 5; + name = "Telecomms RC"; + pixel_x = 30 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bUd" = ( +/obj/structure/table/reinforced, +/obj/machinery/button/door{ + id = "xenobio3"; + name = "Containment Blast Doors"; + pixel_y = 4; + req_access_txt = "55" + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bUe" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio3"; + name = "containment blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) +"bUg" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bUh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio8"; + name = "containment blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) +"bUi" = ( +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/disposaloutlet{ + dir = 1 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"bUj" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bUk" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bUl" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2; + sortType = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bUm" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bUn" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/turf/open/floor/engine, +/area/science/misc_lab) +"bUo" = ( +/obj/structure/table, +/obj/item/storage/box/beakers{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/turf/open/floor/engine, +/area/science/misc_lab) +"bUp" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -27 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"bUq" = ( +/obj/machinery/vending/assist, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"bUr" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 10 + }, +/turf/open/space, +/area/space/nearstation) +"bUs" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bUt" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light{ + dir = 1; + light_color = "#cee5d2" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bUu" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bUv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bUx" = ( +/obj/structure/disposalpipe/junction/yjunction{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bUy" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bUz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bUB" = ( +/obj/machinery/power/apc{ + areastring = "/area/tcommsat/computer"; + name = "Telecomms Monitoring APC"; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bUC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/tcommsat/computer) +"bUD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bUE" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bUF" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bUG" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 1 + }, +/obj/machinery/meter, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/atmos) +"bUH" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bUI" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/decal/cleanable/oil{ + icon_state = "floor5" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bUJ" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics"; + req_access_txt = "24" + }, +/turf/open/floor/plasteel, +/area/engineering/atmos) +"bUK" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Air to External" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bUL" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bUM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bUN" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bUR" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bUS" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bUT" = ( +/obj/machinery/computer/atmos_control/tank/nitrous_tank{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bUU" = ( +/obj/effect/turf_decal/vg_decals/atmos/nitrous_oxide, +/turf/open/floor/engine/n2o, +/area/engineering/atmos) +"bUV" = ( +/obj/machinery/air_sensor/atmos/nitrous_tank, +/turf/open/floor/engine/n2o, +/area/engineering/atmos) +"bUW" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/miner/n2o, +/turf/open/floor/engine/n2o, +/area/engineering/atmos) +"bUY" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bUZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bVa" = ( +/obj/machinery/smartfridge/chemistry/virology/preloaded, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bVb" = ( +/obj/machinery/light_switch{ + pixel_x = 27 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bVc" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bVd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bVe" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bVf" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bVg" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = 20 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bVh" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bVj" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bVk" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bVl" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bVm" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bVn" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bVo" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engineering/break_room) +"bVp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bVq" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bVr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bVs" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"bVt" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/target_stake, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"bVu" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/turf/open/space, +/area/space/nearstation) +"bVv" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/turf/open/space, +/area/space/nearstation) +"bVx" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on, +/turf/open/floor/plating/airless, +/area/maintenance/port/aft) +"bVy" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bVz" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"bVA" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bVB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/closet/emcloset, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bVC" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bVD" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/sign/warning/deathsposal{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bVE" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bVF" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bVG" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_x = -28 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bVI" = ( +/turf/closed/wall/r_wall/syndicate, +/area/tcommsat/server) +"bVJ" = ( +/turf/closed/wall/r_wall/syndicate, +/area/tcommsat/computer) +"bVK" = ( +/obj/machinery/vending/snack/random, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bVM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bVN" = ( +/obj/machinery/camera{ + c_tag = "Atmospherics Access"; + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bVO" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 9 + }, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/atmos) +"bVP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bVQ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bVR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/suit_storage_unit/atmos, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bVS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/structure/sign/warning/securearea, +/turf/closed/wall, +/area/engineering/atmos) +"bVT" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4; + name = "External to Filter" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bVV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bVW" = ( +/obj/structure/rack, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bVX" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bVZ" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Ports to External" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bWc" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/n2o{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bWd" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/nitrous_input{ + dir = 8 + }, +/turf/open/floor/engine/n2o, +/area/engineering/atmos) +"bWe" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bWf" = ( +/obj/structure/table/glass, +/obj/item/clothing/gloves/color/latex, +/obj/machinery/requests_console{ + department = "Virology"; + name = "Virology Requests Console"; + pixel_x = -32 + }, +/obj/item/healthanalyzer, +/obj/item/clothing/glasses/hud/health, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bWg" = ( +/obj/structure/table, +/obj/item/hand_labeler, +/obj/item/radio/headset/headset_med, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bWh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bWi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/medical/virology) +"bWj" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/medical/virology) +"bWl" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio2"; + name = "containment blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) +"bWm" = ( +/obj/structure/window/reinforced, +/obj/structure/table/reinforced, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + id = "xenobio7"; + name = "Containment Blast Doors"; + pixel_y = 4; + req_access_txt = "55" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bWn" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio7"; + name = "containment blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) +"bWo" = ( +/obj/item/radio/intercom{ + pixel_x = -25 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bWp" = ( +/obj/structure/chair/office/light, +/obj/effect/landmark/start/scientist, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bWq" = ( +/obj/machinery/atmospherics/components/binary/pump, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bWr" = ( +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bWs" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bWt" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bWu" = ( +/obj/machinery/door/airlock/engineering{ + name = "Telecommunications"; + req_access_txt = "61" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bWv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bWw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bWx" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bWy" = ( +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bWz" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bWA" = ( +/obj/machinery/atmospherics/pipe/manifold4w/general, +/obj/machinery/meter, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bWB" = ( +/turf/open/floor/circuit/red/telecomms, +/area/tcommsat/server) +"bWC" = ( +/obj/machinery/telecomms/bus/preset_four, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"bWD" = ( +/obj/machinery/telecomms/server/presets/engineering, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"bWE" = ( +/obj/machinery/telecomms/processor/preset_three, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"bWF" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/tcommsat/server"; + dir = 1; + name = "Telecomms Server APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/circuit/red/telecomms, +/area/tcommsat/server) +"bWG" = ( +/obj/machinery/telecomms/server/presets/security, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"bWH" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bWI" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/tcommsat/computer) +"bWJ" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bWK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bWL" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bWM" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bWN" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bWO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 10 + }, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/atmos) +"bWP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 9 + }, +/obj/machinery/door/poddoor/preopen{ + id = "atmos"; + name = "Atmospherics Blast Door" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bWQ" = ( +/turf/closed/wall/r_wall/syndicate, +/area/security/checkpoint/engineering) +"bWR" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_x = -30 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bWU" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Mix to Engine" + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bWV" = ( +/obj/structure/door_assembly/door_assembly_mai, +/turf/open/floor/plating, +/area/maintenance/aft) +"bWW" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bWX" = ( +/obj/structure/table/glass, +/obj/item/radio/intercom{ + pixel_x = -25 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/item/storage/box/beakers{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/storage/box/syringes, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bWY" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 5 + }, +/obj/item/pen/red, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bWZ" = ( +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/landmark/start/virologist, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bXa" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bXb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/medical/virology) +"bXc" = ( +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bXd" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bXh" = ( +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bXi" = ( +/obj/structure/table, +/obj/item/folder/white, +/obj/item/folder/white, +/obj/item/pen, +/obj/item/taperecorder, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bXj" = ( +/obj/structure/table, +/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/machinery/button/ignition{ + id = "testigniter"; + pixel_x = -6; + pixel_y = 2 + }, +/obj/machinery/button/door{ + id = "testlab"; + name = "Test Chamber Blast Doors"; + pixel_x = 4; + pixel_y = 2; + req_access_txt = "55" + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bXk" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=AIE"; + location = "AftH" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bXl" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bXm" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bXn" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bXo" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bXp" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bXq" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering"; + req_access_txt = "32" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bXr" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bXs" = ( +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"bXw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bXx" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bXy" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bXz" = ( +/obj/machinery/telecomms/processor/preset_four, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"bXA" = ( +/obj/machinery/telecomms/server/presets/common, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"bXB" = ( +/obj/machinery/telecomms/bus/preset_three, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"bXC" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/circuit/red/telecomms, +/area/tcommsat/server) +"bXD" = ( +/obj/machinery/telecomms/server/presets/command, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"bXE" = ( +/obj/machinery/computer/message_monitor{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bXF" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/tcommsat/computer) +"bXG" = ( +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bXH" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bXI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bXJ" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/scrubber, +/obj/machinery/light/small, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bXK" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/atmos) +"bXN" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bXO" = ( +/obj/structure/filingcabinet, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/engineering) +"bXP" = ( +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + pixel_y = 30 + }, +/obj/structure/closet/secure_closet/security/engine, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/engineering) +"bXQ" = ( +/obj/structure/fireaxecabinet{ + pixel_x = -32 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bXU" = ( +/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bXV" = ( +/obj/machinery/camera{ + c_tag = "Atmospherics East"; + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Plasma to Pure" + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bXW" = ( +/turf/open/floor/engine/plasma, +/area/engineering/atmos) +"bXX" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxin_output{ + dir = 8 + }, +/turf/open/floor/engine/plasma, +/area/engineering/atmos) +"bXY" = ( +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/engine/plasma, +/area/engineering/atmos) +"bXZ" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/aft) +"bYa" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bYb" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bYc" = ( +/obj/machinery/disposal/bin, +/obj/structure/sign/warning/deathsposal{ + pixel_y = -32 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bYd" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bYe" = ( +/obj/structure/closet/secure_closet/personal/patient, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bYf" = ( +/obj/structure/table/reinforced, +/obj/machinery/button/door{ + id = "xenobio2"; + name = "Containment Blast Doors"; + pixel_y = 4; + req_access_txt = "55" + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bYg" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio2"; + name = "containment blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) +"bYh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio7"; + name = "containment blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) +"bYi" = ( +/obj/machinery/door/poddoor/preopen{ + id = "testlab"; + name = "test chamber blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/misc_lab) +"bYj" = ( +/obj/machinery/door/poddoor/preopen{ + id = "testlab"; + name = "test chamber blast door" + }, +/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/misc_lab) +"bYk" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bYl" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bYm" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bYn" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bYo" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bYp" = ( +/obj/structure/sign/warning/securearea{ + pixel_x = -32 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bYq" = ( +/obj/machinery/light, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bYr" = ( +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/aft) +"bYt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bYu" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_x = -32 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bYv" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Mix to Space" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bYw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bYx" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/aft) +"bYy" = ( +/obj/machinery/door/airlock/maintenance/abandoned{ + name = "Incinerator Access"; + req_access_txt = "12" + }, +/obj/structure/barricade/wooden{ + name = "wooden barricade (CLOSED)" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bYz" = ( +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"bYA" = ( +/obj/machinery/telecomms/broadcaster/preset_right, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"bYB" = ( +/obj/machinery/blackbox_recorder, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"bYC" = ( +/obj/machinery/telecomms/receiver/preset_right, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"bYD" = ( +/obj/machinery/computer/telecomms/server{ + dir = 4; + network = "tcommsat" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bYE" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bYF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"bYG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/structure/sign/departments/engineering{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bYH" = ( +/turf/closed/wall/r_wall/syndicate, +/area/engineering/break_room) +"bYI" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bYL" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics"; + req_access_txt = "24" + }, +/turf/open/floor/plasteel/dark/corner{ + dir = 1 + }, +/area/engineering/atmos) +"bYM" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bYO" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bYP" = ( +/obj/effect/landmark/event_spawn, +/turf/closed/wall/r_wall/syndicate, +/area/service/bar) +"bYQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bYT" = ( +/obj/machinery/computer/atmos_control/tank/toxin_tank{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bYU" = ( +/obj/effect/turf_decal/vg_decals/atmos/plasma, +/turf/open/floor/engine/plasma, +/area/engineering/atmos) +"bYV" = ( +/obj/machinery/air_sensor/atmos/toxin_tank, +/turf/open/floor/engine/plasma, +/area/engineering/atmos) +"bYW" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/miner/toxins, +/turf/open/floor/engine/plasma, +/area/engineering/atmos) +"bYX" = ( +/obj/structure/closet/l3closet/virology, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bYY" = ( +/obj/structure/closet/secure_closet/medical1, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/virology) +"bYZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/medical/virology) +"bZa" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/machinery/camera{ + c_tag = "Xenobiology South"; + dir = 4; + network = list("ss13","rd") + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bZb" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bZc" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 1 + }, +/turf/open/floor/engine, +/area/science/misc_lab) +"bZd" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/structure/disposalpipe/junction/flip, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"bZe" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/break_room) +"bZg" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bZh" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"bZi" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"bZj" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bZk" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bZl" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Mix to Port" + }, +/obj/machinery/light/small, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bZm" = ( +/obj/structure/disposaloutlet{ + dir = 8; + name = "Prisoner Outlet" + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"bZn" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/circuit/red/telecomms, +/area/tcommsat/server) +"bZo" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/circuit/red/telecomms, +/area/tcommsat/server) +"bZp" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/circuit/red/telecomms, +/area/tcommsat/server) +"bZq" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/tcommsat/computer) +"bZr" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/r_wall/syndicate, +/area/tcommsat/computer) +"bZs" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/tcommsat/computer) +"bZt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bZu" = ( +/obj/machinery/camera{ + c_tag = "Engineering Foyer"; + dir = 1 + }, +/obj/structure/noticeboard{ + dir = 1; + pixel_y = -27 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bZv" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/tcommsat/computer) +"bZw" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bZx" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"bZy" = ( +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bZz" = ( +/obj/structure/table, +/obj/machinery/light_switch{ + pixel_x = -23 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/item/book/manual/wiki/engineering_hacking{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/book/manual/wiki/engineering_construction, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bZA" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bZB" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"bZC" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "ceprivacy"; + name = "privacy shutter" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/command/heads_quarters/ce) +"bZD" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "ceprivacy"; + name = "privacy shutter" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/command/heads_quarters/ce) +"bZE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"bZF" = ( +/obj/machinery/power/apc{ + areastring = "/area/engineering/atmos"; + dir = 8; + name = "Atmospherics APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bZG" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bZK" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/plasma{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"bZL" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxin_input{ + dir = 8 + }, +/turf/open/floor/engine/plasma, +/area/engineering/atmos) +"bZM" = ( +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/aft) +"bZN" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/maintenance/aft) +"bZO" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bZP" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/virology) +"bZQ" = ( +/obj/machinery/atmospherics/components/binary/valve/on{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bZR" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/item/wrench, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bZS" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"bZT" = ( +/obj/structure/rack, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/aft) +"bZU" = ( +/obj/structure/closet/emcloset, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/maintenance/aft) +"bZV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio1"; + name = "containment blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) +"bZW" = ( +/obj/structure/window/reinforced, +/obj/structure/table/reinforced, +/obj/machinery/button/door{ + id = "xenobio6"; + name = "Containment Blast Doors"; + pixel_y = 4; + req_access_txt = "55" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"bZX" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio6"; + name = "containment blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) +"bZY" = ( +/obj/item/radio/intercom{ + pixel_x = -25 + }, +/turf/open/floor/engine, +/area/science/misc_lab) +"bZZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science/misc_lab) +"caa" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"cac" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"cad" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"cae" = ( +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"caf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/maintenance/port/aft) +"cag" = ( +/obj/machinery/ntnet_relay, +/turf/open/floor/circuit/red/telecomms, +/area/tcommsat/server) +"cah" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/circuit/red/telecomms, +/area/tcommsat/server) +"cai" = ( +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/circuit/red/telecomms, +/area/tcommsat/server) +"cak" = ( +/obj/machinery/telecomms/hub/preset, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"cal" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering/glass{ + name = "Server Room"; + req_access_txt = "61" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"can" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/engineering/glass{ + name = "Server Room"; + req_access_txt = "61" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"cao" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"cap" = ( +/obj/machinery/light, +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"caq" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"car" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/aft) +"cas" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cat" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cau" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"cav" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"caw" = ( +/obj/structure/table, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/obj/item/hand_labeler, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"cax" = ( +/obj/structure/closet/wardrobe/black, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cay" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"caz" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"caA" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/checkpoint/engineering) +"caC" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"caD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/security/checkpoint/engineering) +"caJ" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/turf/open/space, +/area/space/nearstation) +"caK" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/aft) +"caL" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + 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/aft) +"caM" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"caN" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"caO" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"caP" = ( +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/maintenance/aft) +"caQ" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"caR" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"caS" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"caT" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"caU" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"caX" = ( +/obj/machinery/sparker{ + id = "testigniter"; + pixel_x = -25 + }, +/turf/open/floor/engine, +/area/science/misc_lab) +"caY" = ( +/obj/item/beacon, +/turf/open/floor/engine, +/area/science/misc_lab) +"caZ" = ( +/obj/machinery/door/poddoor/preopen{ + id = "testlab"; + name = "test chamber blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/engine, +/area/science/misc_lab) +"cba" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/engine, +/area/science/misc_lab) +"cbb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/misc_lab) +"cbc" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/misc_lab) +"cbd" = ( +/obj/machinery/power/apc{ + areastring = "/area/science/misc_lab"; + dir = 4; + name = "Testing Lab APC"; + pixel_x = 24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"cbe" = ( +/obj/structure/table/reinforced, +/obj/item/integrated_electronics/analyzer, +/obj/item/integrated_electronics/debugger, +/obj/item/integrated_electronics/wirer, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"cbf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cbg" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"cbh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/caution/stand_clear/red, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"cbi" = ( +/obj/structure/barricade/wooden, +/obj/structure/girder, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cbj" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/maintenance/port/aft) +"cbk" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Mix to Space" + }, +/turf/open/floor/plating/airless, +/area/maintenance/port/aft) +"cbl" = ( +/obj/machinery/camera{ + c_tag = "Telecomms Server Room"; + dir = 4; + network = list("tcomms") + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"cbm" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/tcommsat/computer) +"cbn" = ( +/obj/structure/sign/warning/securearea{ + desc = "A warning sign which reads 'SERVER ROOM'."; + name = "SERVER ROOM" + }, +/turf/closed/wall/r_wall/syndicate, +/area/tcommsat/computer) +"cbo" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/tcommsat/computer) +"cbp" = ( +/obj/structure/closet/secure_closet/engineering_chief, +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/command/heads_quarters/ce"; + dir = 4; + name = "CE Office APC"; + pixel_x = 24 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"cbq" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/mob/living/simple_animal/parrot/Poly, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"cbr" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"cbs" = ( +/obj/structure/sign/warning/securearea, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/main) +"cbt" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/camera{ + c_tag = "Aft Primary Hallway 1"; + dir = 8; + pixel_y = -22 + }, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"cbu" = ( +/obj/machinery/power/apc{ + areastring = "/area/engineering/break_room"; + dir = 8; + name = "Engineering Foyer APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"cbv" = ( +/obj/machinery/door/airlock/maintenance/abandoned{ + name = "Research Delivery access"; + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cbw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cbx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 8; + sortType = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cby" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cbz" = ( +/obj/machinery/vending/wardrobe/atmos_wardrobe, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cbA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cbG" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "CO2 to Pure" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cbH" = ( +/turf/open/floor/engine/co2, +/area/engineering/atmos) +"cbI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/carbon_output{ + dir = 8 + }, +/turf/open/floor/engine/co2, +/area/engineering/atmos) +"cbJ" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cbK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall, +/area/maintenance/aft) +"cbL" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"cbM" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"cbN" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"cbO" = ( +/obj/machinery/door/airlock/atmos/abandoned{ + name = "Atmospherics Maintenance"; + req_access_txt = "12;24" + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cbP" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"cbQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"cbR" = ( +/obj/structure/table/reinforced, +/obj/machinery/button/door{ + id = "xenobio1"; + name = "Containment Blast Doors"; + pixel_y = 4; + req_access_txt = "55" + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cbS" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio1"; + name = "containment blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) +"cbU" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "xenobio6"; + name = "containment blast door" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) +"cbV" = ( +/obj/machinery/camera{ + c_tag = "Testing Chamber"; + dir = 1; + network = list("test","rd") + }, +/obj/machinery/light, +/turf/open/floor/engine, +/area/science/misc_lab) +"cbW" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"cbY" = ( +/obj/structure/table/reinforced, +/obj/item/multitool, +/obj/item/screwdriver, +/obj/machinery/requests_console{ + department = "Science"; + departmentType = 2; + name = "Science Requests Console"; + pixel_y = -30; + receive_ore_updates = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"cbZ" = ( +/obj/structure/table/reinforced, +/obj/item/integrated_circuit_printer, +/obj/machinery/computer/security/telescreen/circuitry{ + dir = 1; + pixel_y = -30 + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"cca" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/solar{ + id = "portsolar"; + name = "Port Solar Array" + }, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solars/port/aft) +"ccb" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/solar{ + id = "portsolar"; + name = "Port Solar Array" + }, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solars/port/aft) +"ccc" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/port/aft) +"ccd" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 8; + name = "8maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cce" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance/abandoned{ + name = "Construction Area Maintenance"; + req_access_txt = "32" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"ccf" = ( +/obj/machinery/telecomms/broadcaster/preset_left, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"ccg" = ( +/obj/machinery/telecomms/message_server, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"cch" = ( +/obj/machinery/telecomms/receiver/preset_left, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"cci" = ( +/obj/structure/table, +/obj/item/multitool, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"ccj" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"cck" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"ccl" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"ccm" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"ccn" = ( +/obj/machinery/camera{ + c_tag = "Engineering Access" + }, +/obj/structure/closet/radiation, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cco" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"ccp" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ccq" = ( +/obj/structure/cable{ + 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/starboard/aft) +"ccr" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ccs" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"cct" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ccv" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"ccw" = ( +/turf/closed/wall/r_wall, +/area/engineering/main) +"ccz" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "N2 to Pure" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"ccA" = ( +/obj/machinery/computer/atmos_control/tank/carbon_tank{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"ccB" = ( +/obj/effect/turf_decal/vg_decals/atmos/carbon_dioxide, +/turf/open/floor/engine/co2, +/area/engineering/atmos) +"ccC" = ( +/obj/machinery/air_sensor/atmos/carbon_tank, +/turf/open/floor/engine/co2, +/area/engineering/atmos) +"ccD" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/miner/carbon_dioxide, +/turf/open/floor/engine/co2, +/area/engineering/atmos) +"ccE" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_y = 28 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"ccF" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"ccG" = ( +/obj/structure/chair/stool, +/obj/effect/decal/cleanable/cobweb{ + icon_state = "cobweb2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"ccI" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"ccJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"ccK" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"ccL" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"ccM" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/aft) +"ccN" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"ccO" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ccQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science/xenobiology) +"ccR" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"ccT" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"ccU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard/aft) +"ccV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ccW" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ccX" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/port/aft) +"ccZ" = ( +/obj/structure/chair/stool, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cda" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cdb" = ( +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cdc" = ( +/obj/machinery/telecomms/bus/preset_two, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"cdd" = ( +/obj/machinery/telecomms/server/presets/supply, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"cde" = ( +/obj/machinery/telecomms/processor/preset_one, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"cdf" = ( +/obj/machinery/telecomms/server/presets/medical, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"cdg" = ( +/obj/machinery/computer/telecomms/monitor{ + dir = 4; + network = "tcommsat" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"cdh" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cdj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cdk" = ( +/obj/machinery/computer/atmos_alert, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cdl" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/carpet/black, +/area/service/chapel/main) +"cdm" = ( +/obj/structure/table/reinforced, +/obj/item/clipboard, +/obj/item/paper/monitorkey, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/item/pen/fountain, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"cdn" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cdo" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/closet/radiation, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cdp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cdq" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cdr" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cds" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/starboard/aft"; + dir = 8; + name = "Starboard Quarter Maintenance APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/camera{ + c_tag = "Aft Starboard Solar Access"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cdt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"cdu" = ( +/obj/structure/closet/emcloset, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cdv" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cdw" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cdx" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cdC" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/co2{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cdD" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/carbon_input{ + dir = 8 + }, +/turf/open/floor/engine/co2, +/area/engineering/atmos) +"cdE" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cdF" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cdG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cdH" = ( +/obj/structure/table, +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"cdI" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cdJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cdK" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cdL" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cdN" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cdO" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cdQ" = ( +/obj/structure/closet/emcloset, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cdR" = ( +/obj/machinery/atmospherics/components/unary/tank/air, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cdS" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"cdT" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cdU" = ( +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/landmark/start/chief_engineer, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"cdW" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/port/aft"; + dir = 8; + name = "Port Quarter Maintenance APC"; + pixel_x = -25; + pixel_y = 1 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cdX" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science) +"cdZ" = ( +/obj/machinery/telecomms/processor/preset_two, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"cea" = ( +/obj/machinery/telecomms/server/presets/service, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"ceb" = ( +/obj/machinery/telecomms/bus/preset_one, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"cec" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_y = -32 + }, +/obj/machinery/light, +/turf/open/floor/circuit/red/telecomms, +/area/tcommsat/server) +"ced" = ( +/obj/machinery/telecomms/server/presets/science, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"cee" = ( +/obj/structure/table, +/obj/item/radio/off, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"cef" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/tcommsat/computer) +"ceg" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/light, +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"ceh" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"cei" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"cej" = ( +/obj/machinery/door/poddoor/preopen{ + id = "Engineering"; + name = "engineering security door" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/delivery, +/obj/machinery/shower{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cek" = ( +/obj/machinery/door/poddoor/preopen{ + id = "Engineering"; + name = "engineering security door" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/shower{ + dir = 8 + }, +/obj/structure/sign/warning/enginesafety{ + pixel_x = 32 + }, +/obj/structure/sign/poster/official/safety_eye_protection{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cel" = ( +/obj/machinery/door/poddoor/preopen{ + id = "Engineering"; + name = "engineering security door" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cem" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cen" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"ceo" = ( +/obj/machinery/keycard_auth{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"ceq" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/command/heads_quarters/ce) +"cer" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"ces" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cet" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cev" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/engineering/main) +"cew" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"cex" = ( +/obj/machinery/camera{ + c_tag = "Atmospherics South West"; + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cey" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/atmos) +"cez" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"ceA" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 9 + }, +/turf/open/floor/plating, +/area/engineering/atmos) +"ceB" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"ceD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"ceE" = ( +/obj/structure/sign/warning/fire{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"ceF" = ( +/obj/structure/closet/emcloset, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"ceG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"ceH" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/aft) +"ceI" = ( +/obj/structure/sign/warning/biohazard, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/aft) +"ceJ" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/aft) +"ceK" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/closet/l3closet, +/turf/open/floor/plating, +/area/maintenance/aft) +"ceL" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/light/small, +/turf/open/floor/plating, +/area/maintenance/aft) +"ceM" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ceN" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ceO" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ceP" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"ceQ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"ceR" = ( +/obj/effect/landmark/blobstart, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ceS" = ( +/obj/item/stack/sheet/cardboard, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ceT" = ( +/obj/machinery/light/small, +/obj/structure/sign/poster/ripped{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ceU" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ceV" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"ceW" = ( +/obj/machinery/space_heater, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"ceX" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/science) +"ceY" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"ceZ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Power Storage"; + req_access_txt = "11" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cfa" = ( +/obj/structure/rack, +/obj/item/storage/belt/utility, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/item/weldingtool/largetank, +/obj/item/clothing/head/welding{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/item/clothing/glasses/welding, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cfb" = ( +/turf/closed/wall/r_wall/syndicate, +/area/command/heads_quarters/ce) +"cfc" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "ceprivacy"; + name = "privacy shutter" + }, +/turf/open/floor/plating, +/area/command/heads_quarters/ce) +"cfd" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/closet/radiation, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cfe" = ( +/obj/structure/sign/warning/radiation/rad_area{ + pixel_x = -32 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/sign/warning/securearea{ + pixel_x = 32 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cfg" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cfh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/break_room) +"cfi" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/structure/reagent_dispensers/watertank/high, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cfj" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal/incinerator) +"cfk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/atmos{ + name = "Turbine Access"; + req_access_txt = "32" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/disposal/incinerator) +"cfl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal/incinerator) +"cfm" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/obj/item/toy/minimeteor, +/obj/item/poster/random_contraband, +/turf/open/floor/plating, +/area/maintenance/aft) +"cfn" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, +/obj/item/reagent_containers/food/snacks/donkpocket, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"cfo" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance, +/obj/item/roller, +/turf/open/floor/plating, +/area/maintenance/aft) +"cfp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/item/c_tube, +/turf/open/floor/plating, +/area/maintenance/aft) +"cfq" = ( +/obj/structure/mopbucket, +/obj/item/clothing/suit/caution, +/turf/open/floor/plating, +/area/maintenance/aft) +"cfr" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + external_pressure_bound = 140; + name = "killroom vent"; + pressure_checks = 0 + }, +/obj/machinery/camera{ + c_tag = "Xenobiology Kill Room"; + dir = 4; + network = list("ss13","rd") + }, +/turf/open/floor/circuit/red, +/area/science/xenobiology) +"cfs" = ( +/obj/machinery/door/airlock/maintenance/abandoned{ + name = "Air Supply Maintenance"; + req_access_txt = "12" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cft" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Testing Lab Maintenance"; + req_access_txt = "47" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cfu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/science/misc_lab) +"cfw" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/solars/port/aft) +"cfx" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating/airless, +/area/maintenance/solars/port/aft) +"cfy" = ( +/obj/structure/rack, +/obj/item/clothing/shoes/winterboots, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cfz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cfB" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/item/clothing/under/misc/overalls, +/obj/item/clothing/under/misc/overalls, +/obj/item/radio/headset/headset_eng, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cfD" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/maintenance{ + name = "Engineering Maintenance"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cfF" = ( +/obj/machinery/suit_storage_unit/ce, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"cfG" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cfH" = ( +/obj/machinery/button/door{ + id = "ceprivacy"; + name = "Privacy Shutters Control"; + pixel_y = 26 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/holopad/secure, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"cfI" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/item/clothing/under/misc/overalls, +/obj/item/clothing/under/misc/overalls, +/obj/item/radio/headset/headset_eng, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cfJ" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cfK" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/space, +/area/solars/port/fore) +"cfL" = ( +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cfM" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/engineering{ + name = "Engine Room"; + req_access_txt = "10" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cfP" = ( +/obj/machinery/atmospherics/components/trinary/mixer/airmix/inverse{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cfQ" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cfU" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics"; + req_access_txt = "24" + }, +/turf/open/floor/plating, +/area/maintenance/disposal/incinerator) +"cfW" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cfX" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/disposal/incinerator"; + name = "Incinerator APC"; + pixel_y = -24 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cfY" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/disposal/incinerator) +"cfZ" = ( +/obj/machinery/light_switch{ + pixel_y = 26 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"cga" = ( +/obj/machinery/power/smes{ + capacity = 9e+006; + charge = 10000 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/cobweb{ + icon_state = "cobweb2" + }, +/turf/open/floor/plating, +/area/maintenance/disposal/incinerator) +"cgb" = ( +/obj/machinery/disposal/bin, +/obj/structure/sign/warning/deathsposal{ + pixel_y = 32 + }, +/obj/structure/disposalpipe/trunk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/disposal/incinerator) +"cgc" = ( +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/aft) +"cgd" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cge" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cgf" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/grille/broken, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cgg" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cgh" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cgi" = ( +/turf/open/floor/circuit/red, +/area/science/xenobiology) +"cgj" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/barricade/wooden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cgk" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/biohazard, +/turf/open/floor/plating, +/area/science/xenobiology) +"cgl" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ + external_pressure_bound = 120; + name = "killroom vent" + }, +/turf/open/floor/circuit/red, +/area/science/xenobiology) +"cgm" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cgn" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cgo" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cgp" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/closet/toolcloset, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cgq" = ( +/obj/machinery/space_heater, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cgr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall, +/area/maintenance/starboard/aft) +"cgs" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cgt" = ( +/obj/structure/sign/warning/securearea{ + pixel_y = 32 + }, +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cgu" = ( +/obj/structure/rack, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cgv" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cgw" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/closet/radiation, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cgy" = ( +/obj/machinery/light/floor, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"cgz" = ( +/obj/structure/cable, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/port/aft) +"cgA" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_x = -32 + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"cgB" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/smes, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"cgC" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"cgD" = ( +/obj/machinery/camera{ + c_tag = "Aft Port Solar Access"; + dir = 4 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cgE" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/solars/port/aft) +"cgF" = ( +/obj/effect/spawner/lootdrop/maintenance, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cgG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cgI" = ( +/turf/template_noop, +/area/template_noop) +"cgO" = ( +/obj/structure/rack, +/obj/item/lighter, +/obj/item/clothing/glasses/meson{ + pixel_y = 4 + }, +/obj/item/stock_parts/cell/high/plus, +/obj/item/reagent_containers/pill/patch/silver_sulf, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command) +"cgQ" = ( +/obj/machinery/camera{ + c_tag = "Engineering East"; + dir = 8 + }, +/obj/machinery/vending/wardrobe/engi_wardrobe, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cgR" = ( +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cgS" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "ceprivacy"; + name = "privacy shutter" + }, +/turf/open/floor/plating, +/area/command/heads_quarters/ce) +"cgT" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/engineering{ + name = "SMES Room"; + req_access_txt = "32" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cgU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cgV" = ( +/obj/machinery/computer/atmos_control/tank/nitrogen_tank{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cgW" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/components/trinary/filter/atmos/n2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cgX" = ( +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cgY" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "N2 Outlet Pump" + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cgZ" = ( +/obj/machinery/computer/atmos_control/tank/oxygen_tank{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cha" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/o2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"chb" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "O2 Outlet Pump" + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"chc" = ( +/obj/machinery/computer/atmos_control/tank/air_tank{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"chd" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"che" = ( +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics"; + req_access_txt = "24" + }, +/turf/open/floor/plating, +/area/engineering/atmos) +"chf" = ( +/obj/machinery/camera{ + c_tag = "Atmospherics South East"; + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "Air Outlet Pump" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"chg" = ( +/turf/open/floor/plating, +/area/engineering/atmos) +"chh" = ( +/obj/machinery/atmospherics/components/unary/tank/toxins{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"chi" = ( +/obj/machinery/atmospherics/pipe/manifold4w/general{ + level = 2 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"chj" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "plasma tank pump" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"chk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal/incinerator) +"chl" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/reagent_dispensers/fueltank, +/obj/item/storage/toolbox/emergency, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"chm" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/machinery/airalarm/all_access{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/disposal/incinerator) +"chn" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"cho" = ( +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/turf/open/floor/circuit/red, +/area/science/xenobiology) +"chp" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard/aft) +"chq" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/circuit/red, +/area/science/xenobiology) +"chr" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + name = "Kill Chamber"; + req_access_txt = "55" + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"chs" = ( +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/manifold/general/visible, +/turf/open/floor/circuit/red, +/area/science/xenobiology) +"chu" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"chv" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"chw" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"chx" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"chy" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"chz" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"chA" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"chB" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"chC" = ( +/obj/structure/rack, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/spawner/lootdrop/maintenance, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"chD" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"chE" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"chH" = ( +/turf/open/floor/circuit/red, +/area/maintenance/starboard/aft) +"chI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/port/aft) +"chJ" = ( +/obj/machinery/power/tracker, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solars/port/aft) +"chK" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/port/aft) +"chL" = ( +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/port/aft) +"chN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"chO" = ( +/obj/machinery/door/airlock/external{ + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"chP" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"chQ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"chR" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"chS" = ( +/obj/machinery/door/airlock/engineering{ + name = "Port Quarter Solar Access"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"chT" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"chY" = ( +/obj/machinery/shieldgen, +/turf/open/floor/plating, +/area/engineering/main) +"cia" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/structure/table, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cic" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cid" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/power/apc/highcap/fifteen_k{ + areastring = "/area/engineering/main"; + dir = 1; + name = "Engineering APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cie" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cif" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/reagent_dispensers/fueltank/high, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cig" = ( +/turf/closed/wall/r_wall/syndicate, +/area/engineering/main) +"cij" = ( +/obj/machinery/modular_computer/console/preset/engineering, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cik" = ( +/obj/machinery/computer/apc_control{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"cim" = ( +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"cin" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"cio" = ( +/obj/structure/table/reinforced, +/obj/item/folder/yellow, +/obj/item/stamp/ce, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"ciq" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "ceprivacy"; + name = "privacy shutter" + }, +/turf/open/floor/plating, +/area/command/heads_quarters/ce) +"cis" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cit" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/atmos) +"ciu" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plating, +/area/engineering/atmos) +"civ" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engineering/atmos) +"cix" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/atmos) +"ciy" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_x = -28 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4; + name = "input gas connector port" + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"ciz" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"ciA" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "input port pump" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"ciB" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/structure/reagent_dispensers/watertank, +/obj/item/extinguisher, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"ciC" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 5 + }, +/turf/open/space, +/area/space/nearstation) +"ciD" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + name = "output gas connector port" + }, +/obj/machinery/portable_atmospherics/canister, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"ciE" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"ciF" = ( +/obj/structure/table, +/obj/item/cartridge/medical, +/turf/open/floor/plating, +/area/maintenance/aft) +"ciG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/closet/firecloset/full, +/turf/open/floor/plating, +/area/maintenance/aft) +"ciH" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/obj/item/latexballon, +/turf/open/floor/plating, +/area/maintenance/aft) +"ciI" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ciJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"ciK" = ( +/obj/structure/rack, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 4; + name = "4maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ciL" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ciM" = ( +/obj/machinery/power/compressor{ + comp_id = "incineratorturbine"; + dir = 1; + luminosity = 2 + }, +/obj/structure/cable/yellow, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/camera{ + c_tag = "Turbine Chamber"; + dir = 4; + network = list("turbine") + }, +/turf/open/floor/engine/vacuum, +/area/maintenance/disposal/incinerator) +"ciN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"ciP" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/port/aft) +"ciQ" = ( +/obj/machinery/power/solar_control{ + dir = 4; + id = "portsolar"; + name = "Port Quarter Solar Control" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"ciR" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/solars/port/aft"; + dir = 4; + name = "Port Quarter Solar APC"; + pixel_x = 24; + pixel_y = 2 + }, +/obj/machinery/camera{ + c_tag = "Aft Port Solar Control"; + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"ciS" = ( +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"ciT" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"ciU" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"ciW" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/engineering/main) +"ciX" = ( +/obj/structure/closet/crate, +/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, +/obj/item/stack/sheet/mineral/plasma{ + amount = 30 + }, +/obj/item/lightreplacer, +/obj/item/lightreplacer, +/turf/open/floor/plating, +/area/engineering/main) +"ciY" = ( +/obj/machinery/door/poddoor{ + id = "Secure Storage"; + name = "secure storage" + }, +/turf/open/floor/plating, +/area/engineering/main) +"ciZ" = ( +/turf/open/floor/plating, +/area/engineering/main) +"cja" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cjc" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cjd" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cje" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cjf" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/chair/office/dark{ + dir = 1 + }, +/obj/effect/landmark/start/station_engineer, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cjg" = ( +/obj/machinery/computer/card/minor/ce{ + dir = 4 + }, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Chief Engineer's Desk"; + departmentType = 3; + name = "Chief Engineer RC"; + pixel_x = -32 + }, +/obj/machinery/camera{ + c_tag = "Chief Engineer's Office"; + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"cji" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cjj" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_x = 27 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"cjk" = ( +/obj/structure/sign/warning/securearea, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/main) +"cjl" = ( +/obj/machinery/camera{ + c_tag = "Engineering MiniSat Access"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cjm" = ( +/obj/machinery/door/airlock/command{ + name = "MiniSat Access"; + req_access_txt = "65" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cjo" = ( +/obj/structure/closet/toolcloset, +/turf/open/floor/plasteel/dark, +/area/construction) +"cjp" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"cjr" = ( +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"cju" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Incinerator to Output" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"cjv" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"cjw" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/aft) +"cjx" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal/incinerator) +"cjy" = ( +/obj/structure/disposalpipe/segment, +/obj/item/shard, +/turf/open/floor/plating, +/area/maintenance/aft) +"cjz" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/aft) +"cjA" = ( +/obj/structure/disposalpipe/segment, +/obj/item/cigbutt/roach, +/turf/open/floor/plating, +/area/maintenance/aft) +"cjB" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/obj/structure/table, +/obj/item/folder/white, +/obj/item/pen, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cjC" = ( +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cjD" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/solars/starboard/aft) +"cjE" = ( +/obj/structure/rack, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cjF" = ( +/obj/machinery/door/airlock/engineering{ + name = "Starboard Quarter Solar Access"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"cjG" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/solars/starboard/aft) +"cjH" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/port/aft) +"cjI" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cjJ" = ( +/turf/closed/wall/r_wall, +/area/engineering/engine_smes) +"cjK" = ( +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cjL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/construction) +"cjM" = ( +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Engineering Secure Storage"; + dir = 4 + }, +/turf/open/floor/plating, +/area/engineering/main) +"cjN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cjO" = ( +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cjP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cjQ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cjR" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external{ + name = "Engineering External Access"; + req_access_txt = "10;13" + }, +/turf/open/floor/plasteel, +/area/engineering/main) +"cjS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/closet/wardrobe/engineering_yellow, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cjT" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cjU" = ( +/obj/machinery/computer/station_alert{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/ce{ + dir = 4; + pixel_x = -24 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"cjV" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cjW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"cjX" = ( +/obj/machinery/light_switch{ + pixel_x = 27 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"cjY" = ( +/obj/structure/table/reinforced, +/obj/item/cartridge/engineering{ + pixel_x = 4; + pixel_y = 5 + }, +/obj/item/cartridge/engineering{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/item/cartridge/engineering{ + pixel_x = 3 + }, +/obj/item/cartridge/atmos, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"cka" = ( +/obj/machinery/door/poddoor/preopen{ + id = "testlab"; + name = "test chamber blast door" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/research/glass{ + name = "Test Chamber"; + req_access_txt = "47" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/misc_lab) +"ckb" = ( +/obj/machinery/atmospherics/pipe/simple, +/obj/structure/grille, +/obj/machinery/meter, +/turf/closed/wall/r_wall, +/area/engineering/atmos) +"ckc" = ( +/obj/machinery/atmospherics/pipe/simple, +/obj/structure/grille, +/obj/machinery/meter{ + name = "Mixed Air Tank In" + }, +/turf/closed/wall/r_wall, +/area/engineering/atmos) +"ckd" = ( +/obj/machinery/atmospherics/pipe/simple, +/obj/structure/grille, +/obj/machinery/meter{ + name = "Mixed Air Tank Out" + }, +/turf/closed/wall/r_wall, +/area/engineering/atmos) +"cke" = ( +/obj/structure/chair/stool, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"ckf" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/disposal/incinerator) +"ckg" = ( +/obj/machinery/atmospherics/components/binary/valve, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"ckh" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "atmospherics mix pump" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"ckj" = ( +/obj/item/cigbutt, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"ckl" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/maintenance/aft) +"ckm" = ( +/obj/machinery/door/airlock/maintenance/abandoned{ + name = "Biohazard Disposals"; + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"cko" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard/aft) +"ckp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ckr" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cks" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"ckt" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/solars/starboard/aft"; + dir = 8; + name = "Starboard Quarter Solar APC"; + pixel_x = -25; + pixel_y = 3 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"cku" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/smes, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"ckv" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"ckw" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"ckx" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cky" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"ckz" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"ckA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"ckB" = ( +/obj/machinery/field/generator, +/turf/open/floor/plating, +/area/engineering/main) +"ckC" = ( +/obj/machinery/power/emitter, +/turf/open/floor/plating, +/area/engineering/main) +"ckD" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/structure/table, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/storage/toolbox/syndicate, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"ckF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"ckG" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/structure/closet/crate/solarpanel_small, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"ckH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"ckI" = ( +/obj/machinery/suit_storage_unit/engine, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"ckK" = ( +/obj/structure/tank_dispenser, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"ckL" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/command/heads_quarters/ce) +"ckM" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"ckN" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/research/glass{ + name = "Test Chamber"; + req_access_txt = "47" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/science/misc_lab) +"ckO" = ( +/obj/machinery/door/airlock/command/glass{ + name = "Chief Engineer"; + req_access_txt = "56" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"ckQ" = ( +/obj/structure/closet/cardboard, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"ckS" = ( +/obj/structure/closet/cardboard, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ckT" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"ckU" = ( +/obj/machinery/air_sensor/atmos/nitrogen_tank, +/turf/open/floor/engine/n2, +/area/engineering/atmos) +"ckV" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/nitrogen_input{ + dir = 1 + }, +/turf/open/floor/engine/n2, +/area/engineering/atmos) +"ckW" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/nitrogen_output{ + dir = 1 + }, +/turf/open/floor/engine/n2, +/area/engineering/atmos) +"ckX" = ( +/obj/machinery/air_sensor/atmos/oxygen_tank, +/turf/open/floor/engine/o2, +/area/engineering/atmos) +"ckY" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/oxygen_input{ + dir = 1 + }, +/turf/open/floor/engine/o2, +/area/engineering/atmos) +"ckZ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/oxygen_output{ + dir = 1 + }, +/turf/open/floor/engine/o2, +/area/engineering/atmos) +"cla" = ( +/obj/machinery/air_sensor/atmos/air_tank, +/turf/open/floor/engine/air, +/area/engineering/atmos) +"clb" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/air_input{ + dir = 1 + }, +/turf/open/floor/engine/air, +/area/engineering/atmos) +"clc" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output{ + dir = 1 + }, +/turf/open/floor/engine/air, +/area/engineering/atmos) +"cld" = ( +/obj/effect/landmark/blobstart, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Mix to Incinerator" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"cle" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"clf" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"clh" = ( +/obj/machinery/light/small, +/obj/structure/extinguisher_cabinet{ + pixel_y = -31 + }, +/obj/machinery/computer/turbine_computer{ + dir = 1; + id = "incineratorturbine" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"cli" = ( +/obj/machinery/button/door/incinerator_vent_atmos_aux{ + pixel_x = 6; + pixel_y = -24 + }, +/obj/machinery/button/door/incinerator_vent_atmos_main{ + pixel_x = -6; + pixel_y = -24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"clj" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"clk" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cll" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"clm" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/manifold/general/hidden{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/aft) +"cln" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"clo" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/machinery/meter, +/turf/open/floor/plating, +/area/maintenance/aft) +"clp" = ( +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance"; + req_access_txt = "10; 13" + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"clq" = ( +/obj/structure/rack, +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"clr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cls" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"clt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"clu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"clv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"clw" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"clx" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"cly" = ( +/obj/structure/chair/stool, +/obj/machinery/camera{ + c_tag = "Aft Starboard Solar Control"; + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"clz" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"clA" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"clB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"clC" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"clD" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"clE" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/smes/engineering, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"clF" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"clG" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/smes/engineering, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"clJ" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/engineering/main) +"clM" = ( +/obj/structure/table, +/obj/item/clothing/glasses/meson, +/obj/item/clothing/glasses/meson, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/item/storage/toolbox/syndicate, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"clN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"clO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/closet/wardrobe/grey, +/obj/machinery/camera{ + c_tag = "Dorms East - Holodeck"; + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"clQ" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"clR" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"clT" = ( +/obj/effect/turf_decal/vg_decals/atmos/nitrogen, +/turf/open/floor/engine/n2, +/area/engineering/atmos) +"clU" = ( +/turf/open/floor/engine/n2, +/area/engineering/atmos) +"clV" = ( +/obj/effect/turf_decal/vg_decals/atmos/oxygen, +/turf/open/floor/engine/o2, +/area/engineering/atmos) +"clW" = ( +/turf/open/floor/engine/o2, +/area/engineering/atmos) +"clY" = ( +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/engine/air, +/area/engineering/atmos) +"clZ" = ( +/turf/open/floor/engine/air, +/area/engineering/atmos) +"cmb" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"cmd" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal/incinerator) +"cme" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal/incinerator) +"cmf" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4; + name = "Incinerator to Space" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"cmg" = ( +/obj/machinery/atmospherics/pipe/simple/general/hidden{ + dir = 9 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/aft) +"cmh" = ( +/obj/structure/disposalpipe/junction/yjunction{ + dir = 2 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cmi" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"cmj" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cmk" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cmo" = ( +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cmq" = ( +/obj/effect/landmark/xeno_spawn, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"cmr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard/aft) +"cmt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cmu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard/aft) +"cmv" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"cmw" = ( +/obj/machinery/power/solar_control{ + dir = 1; + id = "starboardsolar"; + name = "Starboard Quarter Solar Control" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"cmx" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"cmy" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cmz" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cmA" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cmB" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cmC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/main) +"cmD" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=2"; + freq = 1400; + location = "Engineering" + }, +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/engineering/main) +"cmF" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cmG" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cmL" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cmN" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_y = 32 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cmP" = ( +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/obj/machinery/vending/snack/random, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"cmU" = ( +/obj/machinery/light/small, +/obj/machinery/atmospherics/miner/nitrogen, +/turf/open/floor/engine/n2, +/area/engineering/atmos) +"cmV" = ( +/obj/machinery/light/small, +/obj/machinery/atmospherics/miner/oxygen, +/turf/open/floor/engine/o2, +/area/engineering/atmos) +"cmW" = ( +/obj/machinery/light/small, +/turf/open/floor/engine/air, +/area/engineering/atmos) +"cmX" = ( +/obj/machinery/light_switch{ + pixel_x = 27 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/construction) +"cmY" = ( +/obj/machinery/atmospherics/components/binary/pump/on, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/sign/warning/fire{ + pixel_x = -32 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/airlock_sensor/incinerator_atmos{ + pixel_x = 8; + pixel_y = 24 + }, +/turf/open/floor/engine, +/area/maintenance/disposal/incinerator) +"cmZ" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1 + }, +/obj/structure/sign/warning/fire{ + pixel_x = 32 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/maintenance/disposal/incinerator) +"cna" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos{ + dir = 8 + }, +/turf/open/floor/engine, +/area/maintenance/disposal/incinerator) +"cnb" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cnc" = ( +/obj/machinery/light/small, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/aft) +"cnd" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/aft) +"cne" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/aft) +"cnf" = ( +/obj/structure/table, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cng" = ( +/obj/machinery/light/small, +/obj/structure/table, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/spawner/lootdrop/maintenance, +/obj/item/clipboard, +/turf/open/floor/plating, +/area/maintenance/aft) +"cnj" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"cnk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance"; + req_access_txt = "10; 13" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"cnl" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/port/aft) +"cnm" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cnn" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cnp" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/camera{ + c_tag = "SMES Room"; + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cnr" = ( +/obj/machinery/door/window/southleft{ + name = "Engineering Delivery"; + req_access_txt = "10" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/engineering/main) +"cnt" = ( +/obj/machinery/camera{ + c_tag = "Engineering West"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/start/station_engineer, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cnv" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cny" = ( +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cnA" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/structure/table, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/apc, +/obj/item/electronics/apc, +/obj/item/stock_parts/cell/high/plus, +/obj/item/stock_parts/cell/high/plus, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cnB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/construction) +"cnC" = ( +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/engine, +/area/maintenance/disposal/incinerator) +"cnD" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/aft) +"cnE" = ( +/obj/structure/disposalpipe/junction/flip{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cnF" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Waste Out" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cnG" = ( +/obj/structure/closet/emcloset, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/aft) +"cnH" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cnJ" = ( +/obj/effect/spawner/lootdrop/maintenance, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cnK" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"cnL" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cnM" = ( +/obj/machinery/door/window{ + name = "SMES Chamber"; + req_access_txt = "32" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cnN" = ( +/obj/structure/window/reinforced, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cnO" = ( +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cnP" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cnQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cnR" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/engine_smes) +"cnS" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/camera{ + c_tag = "SMES Access"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cnU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/warning/electricshock{ + pixel_x = -32 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/loading_area, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cnX" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cnY" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/warning/nosmoking{ + pixel_y = 32 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cnZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"coa" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cob" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"coh" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"con" = ( +/turf/open/pool, +/area/commons/fitness/pool) +"cop" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/incinerator_input{ + dir = 1 + }, +/turf/open/floor/engine/vacuum, +/area/maintenance/disposal/incinerator) +"coq" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/incinerator_output{ + dir = 1 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = -32 + }, +/turf/open/floor/engine/vacuum, +/area/maintenance/disposal/incinerator) +"cor" = ( +/obj/machinery/igniter{ + id = "Incinerator" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/air_sensor{ + pixel_x = -32; + pixel_y = -32 + }, +/turf/open/floor/engine/vacuum, +/area/maintenance/disposal/incinerator) +"cos" = ( +/obj/machinery/door/poddoor/incinerator_atmos_aux, +/turf/open/floor/engine/vacuum, +/area/maintenance/disposal/incinerator) +"cot" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/aft) +"cou" = ( +/obj/machinery/space_heater, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cov" = ( +/obj/machinery/power/port_gen/pacman, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cow" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cox" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"coy" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"coz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"coA" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"coB" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering{ + name = "SMES Room"; + req_access_txt = "32" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"coC" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"coH" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"coI" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"coJ" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"coL" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"coT" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/machinery/meter, +/turf/open/floor/engine, +/area/science/misc_lab) +"coZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/structure/closet/secure_closet/engineering_electrical, +/obj/item/storage/toolbox/artistic{ + icon_state = "yellow"; + item_state = "toolbox_yellow"; + name = "Cable Toolbox"; + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cpa" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/closet/secure_closet/engineering_welding, +/obj/item/clothing/glasses/welding, +/obj/item/clothing/glasses/welding, +/obj/item/clothing/glasses/welding, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cpb" = ( +/obj/structure/closet/emcloset, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/engineering/main) +"cpe" = ( +/obj/docking_port/stationary/random{ + dir = 8; + id = "pod_lavaland2"; + name = "lavaland" + }, +/turf/open/space, +/area/space/nearstation) +"cph" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/open/space, +/area/space/nearstation) +"cpi" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/starboard/aft) +"cpj" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/structure/chair/office/light, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cpk" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cpl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cpm" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cpn" = ( +/obj/machinery/light, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cpo" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cpp" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cpq" = ( +/obj/structure/sign/warning/electricshock{ + pixel_x = -32 + }, +/obj/machinery/computer/rdconsole/production{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cps" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cpC" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/command/bridge) +"cpE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cpF" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/sign/poster/official/space_cops{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"cpG" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/suit/apron/surgical, +/obj/item/clothing/suit/apron/surgical, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"cpI" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "Escape Pod Four" + }, +/turf/open/floor/plating, +/area/engineering/main) +"cpN" = ( +/obj/machinery/power/turbine{ + luminosity = 2 + }, +/obj/structure/cable/yellow, +/turf/open/floor/engine/vacuum, +/area/maintenance/disposal/incinerator) +"cpO" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Incinerator Output Pump" + }, +/turf/open/space, +/area/maintenance/disposal/incinerator) +"cpP" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/space, +/area/space/nearstation) +"cpQ" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/space, +/area/maintenance/disposal/incinerator) +"cpR" = ( +/obj/machinery/door/airlock/abandoned{ + name = "Observatory Access" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cpS" = ( +/obj/structure/cable, +/obj/machinery/power/apc{ + areastring = "/area/engineering/engine_smes"; + name = "SMES room APC"; + pixel_y = -24 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/structure/table, +/obj/item/stock_parts/cell/high/plus, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cpT" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -35 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/closet/secure_closet/engineering_electrical, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"cpV" = ( +/obj/machinery/camera{ + c_tag = "Engineering Storage"; + dir = 4 + }, +/obj/machinery/rnd/production/protolathe/department/engineering, +/obj/structure/sign/poster/contraband/power{ + desc = "Lord Singuloth must feed. Annoyingly, it's really easy for people to sabotage containment and let Lord Singuloth eat the entire station.. For this reason, Nanotrasen prefers Supermatter reactors."; + pixel_x = -32; + poster_item_desc = "This poster depicts Lord Singuloth. Nanotrasen doesn't approve. Nanotrasen wants Supermatter over Singularities, as they are usually much safer." + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cpW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cpX" = ( +/obj/structure/table, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/rods/fifty, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cpY" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cqn" = ( +/obj/structure/grille, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cqo" = ( +/obj/structure/sign/warning/pods{ + pixel_x = 32 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cqp" = ( +/obj/machinery/camera{ + c_tag = "Engineering Escape Pod"; + dir = 4 + }, +/turf/open/floor/plating, +/area/engineering/main) +"cqq" = ( +/obj/docking_port/stationary{ + dir = 8; + dwidth = 1; + height = 4; + name = "escape pod loader"; + roundstart_template = /datum/map_template/shuttle/escape_pod/default; + width = 3 + }, +/turf/open/space/basic, +/area/space) +"cqr" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"cqs" = ( +/obj/structure/sign/warning/fire, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal/incinerator) +"cqt" = ( +/obj/machinery/door/poddoor/incinerator_atmos_main, +/turf/open/floor/engine/vacuum, +/area/maintenance/disposal/incinerator) +"cqv" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cqw" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/rnd/production/circuit_imprinter, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cqx" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cqy" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cqz" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cqJ" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/space, +/area/solars/starboard/aft) +"cqK" = ( +/obj/structure/table, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cqL" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cqM" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"cqN" = ( +/obj/structure/table, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/plasteel{ + amount = 10 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cqO" = ( +/obj/structure/table, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = -7 + }, +/obj/item/stack/cable_coil, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cqP" = ( +/obj/structure/table, +/obj/item/folder/yellow, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -3; + pixel_y = -2 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cqQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"cqR" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cqY" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/main) +"crh" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/engineering/main) +"cri" = ( +/obj/machinery/door/airlock/external{ + name = "External Access"; + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"crk" = ( +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/starboard/aft) +"crl" = ( +/obj/structure/table, +/obj/item/taperecorder, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"crm" = ( +/obj/structure/table, +/obj/item/storage/box/matches, +/obj/item/storage/fancy/cigarettes, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"crn" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/gravity_generator) +"cro" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/main) +"crp" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/main) +"crq" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/main) +"crr" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/main) +"crw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cry" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"crz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"crA" = ( +/obj/structure/transit_tube_pod, +/obj/structure/transit_tube/station/reverse/flipped{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/engineering/main) +"crB" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/starboard/aft) +"crC" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/starboard/aft) +"crD" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/starboard/aft) +"crE" = ( +/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/solars/starboard/aft) +"crF" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/starboard/aft) +"crG" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/starboard/aft) +"crP" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"crR" = ( +/obj/structure/transit_tube, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/engineering/main) +"crW" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating, +/area/engineering/main) +"crX" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_x = 32 + }, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plating, +/area/engineering/main) +"crY" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/transit_tube, +/turf/open/floor/plating, +/area/engineering/main) +"csc" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/space, +/area/maintenance/aft) +"csg" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance"; + req_access_txt = "10; 13" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) +"csi" = ( +/obj/structure/transit_tube/curved/flipped{ + dir = 1 + }, +/turf/open/space, +/area/space/nearstation) +"csl" = ( +/obj/structure/transit_tube/curved{ + dir = 4 + }, +/turf/open/space, +/area/space/nearstation) +"csm" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/maintenance/aft) +"csn" = ( +/obj/structure/transit_tube/horizontal, +/turf/open/space, +/area/space/nearstation) +"cso" = ( +/obj/structure/lattice, +/obj/structure/transit_tube/crossing/horizontal, +/turf/open/space, +/area/space/nearstation) +"csq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/turbine{ + dir = 1; + pixel_y = -30 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"csr" = ( +/obj/machinery/button/ignition{ + id = "Incinerator"; + pixel_x = -6; + pixel_y = -24 + }, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"csy" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"csD" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"csM" = ( +/obj/structure/lattice, +/obj/structure/transit_tube/crossing/horizontal, +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/turf/open/space, +/area/space/nearstation) +"csN" = ( +/obj/structure/transit_tube/horizontal, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"csO" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/transit_tube/horizontal, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"csT" = ( +/obj/structure/table/glass, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/storage/book/bible{ + pixel_y = -1 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"csU" = ( +/obj/structure/transit_tube/station/reverse, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"csV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"csW" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"csX" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"csZ" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/space, +/area/solars/starboard/aft) +"cta" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "MiniSat External Access"; + req_access_txt = "65;13" + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"ctb" = ( +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"ctc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"ctd" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/turf/open/space, +/area/space/nearstation) +"ctg" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"cth" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -29 + }, +/obj/machinery/light/small, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"cti" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/securearea{ + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"ctj" = ( +/obj/machinery/camera{ + c_tag = "MiniSat Pod Access"; + dir = 1; + network = list("minisat"); + start_active = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/machinery/light/small, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"ctk" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/aisat_interior) +"cto" = ( +/obj/machinery/door/airlock/hatch{ + name = "MiniSat Foyer"; + req_one_access_txt = "65" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"ctp" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/ai_monitored/turret_protected/aisat_interior) +"ctq" = ( +/turf/closed/wall/r_wall/syndicate, +/area/commons/dorms) +"ctr" = ( +/obj/structure/table, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/item/folder{ + pixel_x = 3 + }, +/obj/item/phone{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cts" = ( +/obj/structure/rack, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/item/radio/off{ + pixel_y = 4 + }, +/obj/item/screwdriver{ + pixel_y = 10 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"ctt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"ctu" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) +"ctv" = ( +/turf/closed/wall/r_wall, +/area/space/nearstation) +"ctw" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/computer/station_alert{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"ctx" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) +"cty" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) +"ctz" = ( +/obj/machinery/door/poddoor/shutters{ + id = "teledoor"; + name = "MiniSat Teleport Access" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"ctA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"ctB" = ( +/obj/structure/cable, +/obj/machinery/power/tracker, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solars/starboard/aft) +"ctE" = ( +/obj/machinery/teleport/hub, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"ctF" = ( +/obj/machinery/button/door{ + id = "teledoor"; + name = "MiniSat Teleport Shutters Control"; + pixel_y = 25; + req_access_txt = "17;65" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"ctG" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) +"ctH" = ( +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_x = -31 + }, +/obj/machinery/computer/monitor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"ctI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) +"ctJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/landmark/start/cyborg, +/obj/machinery/holopad/secure, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) +"ctK" = ( +/obj/machinery/door/airlock/hatch{ + name = "MiniSat Teleporter"; + req_access_txt = "17;65" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"ctL" = ( +/obj/machinery/teleport/station, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"ctM" = ( +/obj/machinery/bluespace_beacon, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"ctP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) +"ctQ" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 4 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"ctR" = ( +/obj/structure/sign/warning/radiation/rad_area, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/main) +"ctS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) +"ctT" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) +"ctU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/aisat_interior) +"ctV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + areastring = "/area/ai_monitored/turret_protected/aisat_interior"; + dir = 4; + name = "MiniSat Foyer APC"; + pixel_x = 24 + }, +/obj/structure/chair, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"ctW" = ( +/obj/machinery/computer/teleporter{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"ctX" = ( +/obj/machinery/camera{ + c_tag = "MiniSat Teleporter"; + dir = 1; + network = list("minisat"); + start_active = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"ctY" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/aisat/atmos) +"ctZ" = ( +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/aisat/atmos) +"cua" = ( +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/aisat_interior) +"cub" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -29 + }, +/obj/machinery/light/small, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cuc" = ( +/obj/structure/rack, +/obj/machinery/status_display/evac{ + pixel_y = -32 + }, +/obj/item/storage/box/donkpockets, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cud" = ( +/obj/machinery/turretid{ + control_area = "/area/ai_monitored/turret_protected/aisat_interior"; + name = "Antechamber Turret Control"; + pixel_y = -24; + req_access = null; + req_access_txt = "65" + }, +/obj/machinery/light/small, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/camera/motion{ + c_tag = "MiniSat Foyer"; + dir = 1; + network = list("minisat") + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cue" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cuf" = ( +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/aisat/service) +"cug" = ( +/obj/machinery/status_display/ai{ + pixel_y = -32 + }, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cuh" = ( +/obj/structure/rack, +/obj/item/wrench, +/obj/item/crowbar/red, +/obj/item/clothing/head/welding, +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/atmos) +"cui" = ( +/obj/machinery/atmospherics/components/unary/tank/air, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/atmos) +"cuk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/aisat_interior) +"cul" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/hatch{ + name = "MiniSat Antechamber"; + req_one_access_txt = "65" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cum" = ( +/obj/machinery/recharge_station, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/service) +"cun" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Incinerator to MiniSat" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/atmos) +"cuo" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/atmos) +"cup" = ( +/obj/structure/showcase/cyborg/old{ + dir = 8; + pixel_x = 9; + pixel_y = 2 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/atmos) +"cuq" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Air Out" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/atmos) +"cur" = ( +/obj/structure/showcase/cyborg/old{ + dir = 4; + pixel_x = -9; + pixel_y = 2 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cus" = ( +/obj/structure/showcase/cyborg/old{ + dir = 8; + pixel_x = 9; + pixel_y = 2 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cuu" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cuv" = ( +/obj/structure/showcase/cyborg/old{ + dir = 4; + pixel_x = -9; + pixel_y = 2 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 5; + pixel_y = 30 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/service) +"cuw" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/service) +"cux" = ( +/obj/structure/table, +/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 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/service) +"cuy" = ( +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cuz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) +"cuA" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "MiniSat Atmospherics"; + dir = 4; + network = list("minisat"); + start_active = 1 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/space_heater, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/atmos) +"cuB" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_x = 28 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) +"cuC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/landmark/start/cyborg, +/obj/machinery/holopad/secure, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) +"cuD" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "MiniSat Antechamber"; + dir = 4; + network = list("minisat"); + start_active = 1 + }, +/obj/machinery/turretid{ + control_area = "/area/ai_monitored/turret_protected/aisat/atmos"; + name = "Atmospherics Turret Control"; + pixel_x = -27; + req_access = null; + req_access_txt = "65" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cuE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/aisat_interior) +"cuF" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/turretid{ + control_area = "/area/ai_monitored/turret_protected/aisat/service"; + name = "Service Bay Turret Control"; + pixel_x = 27; + req_access = null; + req_access_txt = "65" + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cuG" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/landmark/start/cyborg, +/obj/machinery/holopad/secure, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cuH" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_x = -28 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/service) +"cuI" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/service) +"cuJ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/holopad/secure, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/service) +"cuK" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "MiniSat Service Bay"; + dir = 8; + network = list("minisat"); + start_active = 1 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/rack, +/obj/item/storage/toolbox/electrical{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/storage/toolbox/mechanical, +/obj/item/multitool, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/service) +"cuL" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) +"cuM" = ( +/obj/machinery/power/apc{ + areastring = "/area/ai_monitored/turret_protected/aisat/atmos"; + dir = 8; + name = "MiniSat Atmospherics APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/atmos) +"cuN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) +"cuO" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) +"cuP" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cuQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/hatch{ + name = "MiniSat Atmospherics"; + req_one_access_txt = "65" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cuR" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cuS" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/mob/living/simple_animal/bot/secbot/pingsky, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cuT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/service) +"cuU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/hatch{ + name = "MiniSat Service Bay"; + req_one_access_txt = "65" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cuV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/service) +"cuW" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/service) +"cuX" = ( +/obj/machinery/power/apc{ + areastring = "/area/ai_monitored/turret_protected/aisat/service"; + dir = 4; + name = "MiniSat Service Bay APC"; + pixel_x = 24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/port_gen/pacman, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/service) +"cuY" = ( +/obj/machinery/porta_turret/ai{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) +"cuZ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/mob/living/simple_animal/bot/floorbot, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) +"cva" = ( +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai) +"cvb" = ( +/obj/machinery/status_display/ai, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai) +"cvc" = ( +/obj/structure/sign/warning/securearea{ + pixel_x = -32 + }, +/obj/machinery/porta_turret/ai{ + dir = 4 + }, +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1447; + listening = 0; + name = "Station Intercom (AI Private)"; + pixel_y = -29 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cvd" = ( +/obj/machinery/porta_turret/ai{ + dir = 4 + }, +/obj/structure/sign/warning/securearea{ + pixel_x = 32 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cve" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/machinery/turretid{ + control_area = "/area/ai_monitored/turret_protected/aisat/hallway"; + name = "Chamber Hallway Turret Control"; + pixel_x = 32; + pixel_y = -24; + req_access = null; + req_access_txt = "65" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"cvf" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai) +"cvg" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/mob/living/simple_animal/bot/cleanbot, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/service) +"cvh" = ( +/obj/machinery/porta_turret/ai{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/service) +"cvi" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/service) +"cvj" = ( +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvl" = ( +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cvm" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "MiniSat Maintenance"; + req_access_txt = "65" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvo" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/hatch{ + name = "MiniSat Chamber Hallway"; + req_one_access_txt = "65" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvp" = ( +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai) +"cvq" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "MiniSat Maintenance"; + req_access_txt = "65" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvr" = ( +/obj/machinery/porta_turret/ai{ + dir = 4 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai) +"cvs" = ( +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvu" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvv" = ( +/turf/closed/wall, +/area/ai_monitored/turret_protected/ai) +"cvw" = ( +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvx" = ( +/obj/effect/landmark/start/ai/secondary, +/obj/item/radio/intercom{ + freerange = 1; + listening = 0; + name = "Custom Channel"; + pixel_y = 28 + }, +/obj/item/radio/intercom{ + freerange = 1; + name = "Common Channel"; + pixel_x = -27; + pixel_y = 5 + }, +/obj/item/radio/intercom{ + freerange = 1; + frequency = 1447; + name = "Private Channel"; + pixel_y = -25 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai) +"cvy" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvz" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvA" = ( +/obj/effect/landmark/start/ai/secondary, +/obj/item/radio/intercom{ + freerange = 1; + listening = 0; + name = "Custom Channel"; + pixel_y = 28 + }, +/obj/item/radio/intercom{ + freerange = 1; + name = "Common Channel"; + pixel_x = 27; + pixel_y = 5 + }, +/obj/item/radio/intercom{ + freerange = 1; + frequency = 1447; + name = "Private Channel"; + pixel_y = -25 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai) +"cvB" = ( +/obj/structure/rack, +/obj/item/crowbar/red, +/obj/item/wrench, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvC" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvD" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvE" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvF" = ( +/obj/structure/lattice, +/obj/machinery/camera{ + c_tag = "MiniSat External NorthWest"; + dir = 8; + network = list("minisat"); + start_active = 1 + }, +/turf/open/space, +/area/ai_monitored/turret_protected/aisat) +"cvG" = ( +/obj/machinery/porta_turret/ai{ + dir = 4; + installation = /obj/item/gun/energy/e_gun + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvH" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvI" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvJ" = ( +/obj/machinery/porta_turret/ai{ + dir = 4; + installation = /obj/item/gun/energy/e_gun + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvK" = ( +/obj/structure/lattice, +/obj/machinery/camera{ + c_tag = "MiniSat External NorthEast"; + dir = 4; + network = list("minisat"); + start_active = 1 + }, +/turf/open/space, +/area/ai_monitored/turret_protected/aisat) +"cvL" = ( +/obj/structure/sign/warning/securearea{ + pixel_x = 32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvM" = ( +/obj/machinery/camera/motion{ + c_tag = "MiniSat Core Hallway"; + dir = 4; + network = list("aicore") + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvN" = ( +/obj/structure/sign/warning/securearea{ + pixel_x = -32 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvO" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cvP" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "MiniSat Maintenance"; + req_access_txt = "65" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvR" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvT" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/holopad/secure, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvU" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "MiniSat Maintenance"; + req_access_txt = "65" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvV" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvW" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvX" = ( +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvY" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cvZ" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/aisat/hallway) +"cwa" = ( +/obj/structure/cable, +/obj/machinery/power/apc{ + areastring = "/area/ai_monitored/turret_protected/aisat/hallway"; + dir = 4; + name = "MiniSat Chamber Hallway APC"; + pixel_x = 24 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/aisat/hallway) +"cwb" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cwc" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/hallway) +"cwd" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1447; + listening = 0; + name = "Station Intercom (AI Private)"; + pixel_x = -28; + pixel_y = -29 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/hallway) +"cwe" = ( +/obj/structure/sign/warning/securearea, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai) +"cwf" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/hatch{ + name = "MiniSat Chamber Observation"; + req_one_access_txt = "65" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cwg" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cwh" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen{ + pixel_x = 4; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cwi" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cwj" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cwk" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cwl" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cwm" = ( +/obj/structure/table/reinforced, +/obj/item/folder/white, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cwn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cwo" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cwp" = ( +/obj/structure/chair/office/dark, +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cwq" = ( +/obj/structure/grille, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/hallway) +"cwr" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/ai) +"cws" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/ai) +"cwt" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "AI Core"; + req_access_txt = "65" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cwu" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cwv" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/status_display/evac{ + pixel_x = -32 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai) +"cww" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cwx" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cwz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cwA" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/machinery/holopad/secure, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cwB" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/status_display/ai{ + pixel_x = 32 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai) +"cwC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cwD" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/turretid{ + name = "AI Chamber turret control"; + pixel_x = 5; + pixel_y = -24 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai) +"cwE" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/ai_monitored/turret_protected/ai"; + name = "AI Chamber APC"; + pixel_y = -24 + }, +/obj/machinery/flasher{ + id = "AI"; + pixel_x = -11; + pixel_y = -24 + }, +/obj/machinery/camera/motion{ + c_tag = "MiniSat AI Chamber North"; + dir = 1; + network = list("aicore") + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai) +"cwH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"cwS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"cwT" = ( +/obj/machinery/camera{ + c_tag = "Arrivals Escape Pod 2"; + dir = 8 + }, +/obj/machinery/light/small, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"cwV" = ( +/obj/docking_port/stationary/random{ + dir = 8; + id = "pod_lavaland1"; + name = "lavaland" + }, +/turf/open/space, +/area/space/nearstation) +"cxn" = ( +/obj/structure/lattice, +/obj/effect/landmark/carpspawn, +/turf/open/space, +/area/space/nearstation) +"cxE" = ( +/obj/docking_port/stationary{ + dir = 8; + dwidth = 2; + height = 13; + id = "ferry_home"; + name = "port bay 2"; + width = 5 + }, +/turf/open/space/basic, +/area/space) +"cxN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance"; + req_access_txt = "10; 13" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) +"cxP" = ( +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"cxY" = ( +/obj/machinery/camera{ + c_tag = "Arrivals Escape Pod 1"; + dir = 8 + }, +/obj/machinery/light/small, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"cya" = ( +/obj/machinery/light/small, +/turf/open/floor/plating, +/area/maintenance/fore) +"cyb" = ( +/obj/machinery/door/airlock/external{ + name = "Escape Pod One" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"cyd" = ( +/obj/docking_port/stationary{ + dir = 2; + dwidth = 11; + height = 22; + id = "whiteship_home"; + name = "SS13: Auxiliary Dock, Station-Port"; + width = 35 + }, +/turf/open/space/basic, +/area/space) +"cyg" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/airlock/command{ + name = "Command Tool Storage"; + req_access_txt = "19" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"cyh" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + name = "Security Escape Airlock"; + req_access_txt = "2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"cyl" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + name = "Port Docking Bay 2" + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"cyp" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "Escape Airlock" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"cyr" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + name = "Cargo Escape Airlock" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"cyu" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/airlock/external{ + name = "Port Docking Bay 3" + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"cyC" = ( +/obj/machinery/door/airlock/maintenance/abandoned{ + name = "abandoned library"; + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"cyD" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + name = "Supply Dock Airlock"; + req_access_txt = "31" + }, +/turf/open/floor/plating, +/area/cargo/storage) +"cyE" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + name = "External Access"; + req_access_txt = "13" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cyG" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external{ + name = "External Access"; + req_access_txt = "13" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"cyK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance"; + req_access_txt = "10; 13" + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"cyL" = ( +/obj/machinery/door/airlock/maintenance/abandoned{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cyM" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/airlock/engineering{ + name = "Engine Room"; + req_access_txt = "10" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cyT" = ( +/obj/docking_port/stationary{ + dir = 8; + dwidth = 5; + height = 7; + id = "supply_home"; + name = "Cargo Bay"; + width = 12 + }, +/turf/open/space/basic, +/area/space) +"cyU" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + req_access_txt = "13" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"czg" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + name = "Escape Pod Four"; + shuttledocked = 1 + }, +/turf/open/floor/plating, +/area/engineering/main) +"czk" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + name = "MiniSat External Access"; + req_access_txt = "65;13" + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"czG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"czH" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"czI" = ( +/obj/item/wrench, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/space/nearstation) +"czJ" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/maintenance/disposal/incinerator) +"czK" = ( +/turf/closed/wall/r_wall/syndicate, +/area/commons/vacant_room/office) +"czN" = ( +/obj/docking_port/stationary/random{ + dir = 4; + id = "pod_lavaland4"; + name = "lavaland" + }, +/turf/open/space, +/area/space/nearstation) +"czO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"czP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/security/prison/cells) +"czQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"czR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"czS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"czT" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"czU" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"czW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"czX" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"czY" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"czZ" = ( +/obj/structure/chair, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cAa" = ( +/obj/structure/chair, +/obj/item/storage/fancy/cigarettes, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cAb" = ( +/obj/structure/closet, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cAc" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard/aft) +"cAd" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cAe" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/maintenance/aft) +"cAf" = ( +/obj/structure/disposaloutlet, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"cAg" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"cAh" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cAi" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cAy" = ( +/obj/structure/closet/secure_closet/freezer/kitchen/maintenance, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cAz" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"cAA" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cAB" = ( +/obj/structure/table, +/obj/machinery/microwave, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cAC" = ( +/obj/structure/sink/kitchen{ + dir = 8; + pixel_x = 11 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cAD" = ( +/obj/structure/table, +/obj/item/kitchen/knife, +/obj/item/storage/box/donkpockets, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cAE" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_y = 2 + }, +/obj/item/reagent_containers/food/condiment/peppermill{ + pixel_x = 2 + }, +/obj/item/reagent_containers/food/snacks/mint{ + pixel_y = 9 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cAF" = ( +/turf/open/floor/plating, +/area/maintenance/disposal) +"cAG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/power/apc{ + areastring = "/area/command/heads_quarters/hop"; + name = "Head of Personnel APC"; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/central) +"cAH" = ( +/obj/machinery/processor, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cAI" = ( +/obj/machinery/conveyor_switch/oneway{ + dir = 8; + id = "garbage"; + name = "disposal conveyor" + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"cAJ" = ( +/obj/structure/closet, +/turf/open/floor/plating, +/area/maintenance/disposal) +"cAK" = ( +/obj/machinery/light/small, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cAL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/landmark/start/janitor, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"cAQ" = ( +/obj/structure/chair, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cAR" = ( +/obj/machinery/door/window{ + dir = 1; + name = "AI Core Door"; + req_access_txt = "16" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai) +"cAS" = ( +/obj/effect/landmark/start/ai, +/obj/item/radio/intercom{ + freerange = 1; + name = "Common Channel"; + pixel_x = -27; + pixel_y = -9 + }, +/obj/item/radio/intercom{ + freerange = 1; + listening = 0; + name = "Custom Channel"; + pixel_y = -31 + }, +/obj/item/radio/intercom{ + freerange = 1; + frequency = 1447; + name = "Private Channel"; + pixel_x = 27; + pixel_y = -9 + }, +/obj/machinery/newscaster/security_unit{ + pixel_x = -28; + pixel_y = -28 + }, +/obj/machinery/requests_console{ + department = "AI"; + departmentType = 5; + pixel_x = 28; + pixel_y = -28 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai) +"cAT" = ( +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cAU" = ( +/obj/structure/lattice, +/obj/machinery/camera{ + c_tag = "MiniSat External SouthWest"; + dir = 8; + network = list("minisat"); + start_active = 1 + }, +/turf/open/space, +/area/ai_monitored/turret_protected/aisat) +"cAV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/showcase/cyborg/old{ + dir = 8; + pixel_x = 9; + pixel_y = 2 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cAW" = ( +/obj/structure/showcase/cyborg/old{ + dir = 4; + pixel_x = -9; + pixel_y = 2 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cAX" = ( +/obj/structure/lattice, +/obj/machinery/camera{ + c_tag = "MiniSat External SouthEast"; + dir = 4; + network = list("minisat"); + start_active = 1 + }, +/turf/open/space, +/area/ai_monitored/turret_protected/aisat) +"cAY" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/closed/wall, +/area/ai_monitored/turret_protected/ai) +"cAZ" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cBa" = ( +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai) +"cBb" = ( +/obj/machinery/camera/motion{ + c_tag = "MiniSat AI Chamber South"; + network = list("aicore") + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai) +"cBc" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/machinery/ai_slipper{ + uses = 10 + }, +/turf/open/floor/circuit/red, +/area/ai_monitored/turret_protected/ai) +"cBd" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cBe" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai) +"cBf" = ( +/obj/machinery/camera{ + c_tag = "MiniSat External South"; + network = list("minisat"); + start_active = 1 + }, +/turf/open/space, +/area/ai_monitored/turret_protected/aisat) +"cBg" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/service/hydroponics) +"cBi" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"cBj" = ( +/obj/structure/table, +/obj/item/folder/blue, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/ai_upload) +"cBk" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"cBl" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) +"cBm" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/extinguisher_cabinet{ + pixel_y = -30 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"cBo" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"cBp" = ( +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/bot_red, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"cBq" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"cBr" = ( +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"cBt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/science/explab) +"cBu" = ( +/obj/machinery/status_display/ai{ + pixel_y = 32 + }, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/rd) +"cBv" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/supply) +"cBw" = ( +/obj/machinery/door/firedoor, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"cBx" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/science) +"cBy" = ( +/obj/machinery/door/airlock{ + name = "Custodial Closet"; + req_access_txt = "26" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/service/janitor) +"cBz" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/engine, +/area/science/xenobiology) +"cBA" = ( +/obj/machinery/button/massdriver{ + id = "toxinsdriver"; + pixel_y = 24 + }, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"cBB" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"cBC" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/engineering/storage/tech) +"cBD" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/aft) +"cBE" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/air_sensor/atmos/toxins_mixing_tank, +/turf/open/floor/engine/vacuum, +/area/science/mixing) +"cBF" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cBH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/aft) +"cBI" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/mineral/plastitanium/red, +/area/security/checkpoint/engineering) +"cBJ" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cBK" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -35 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/tcommsat/computer) +"cBL" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cBM" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high/plus, +/obj/item/rcl/pre_loaded, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"cBN" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cBO" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cBP" = ( +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/vg_decals/atmos/air, +/turf/open/floor/engine/air, +/area/engineering/atmos) +"cBS" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/hallway) +"cBT" = ( +/obj/machinery/door/airlock/external{ + name = "External Access"; + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cBZ" = ( +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/carpet/black, +/area/service/chapel/office) +"cCb" = ( +/obj/structure/table, +/obj/item/stack/cable_coil{ + amount = 5 + }, +/obj/item/flashlight, +/turf/open/floor/plating, +/area/construction) +"cCc" = ( +/obj/structure/rack, +/obj/item/clothing/suit/hazardvest, +/turf/open/floor/plating, +/area/construction) +"cCd" = ( +/turf/open/floor/plasteel/dark, +/area/construction) +"cCe" = ( +/obj/structure/closet/crate, +/turf/open/floor/plating, +/area/construction) +"cCf" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plating, +/area/construction) +"cCi" = ( +/turf/closed/wall/r_wall/syndicate, +/area/commons/vacant_room/office/b) +"cCj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/security/detectives_office) +"cCk" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/security/detectives_office) +"cCn" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/warehouse) +"cCo" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"cCp" = ( +/obj/machinery/light_switch{ + pixel_y = -25 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"cCq" = ( +/obj/machinery/deepfryer, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"cCr" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"cCs" = ( +/obj/structure/closet/emcloset, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"cCt" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 4; + name = "4maintenance loot spawner" + }, +/obj/item/poster/random_official, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cCB" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cCC" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cCD" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cCE" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"cCF" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engineering/atmos) +"cCG" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 10 + }, +/turf/open/space, +/area/space/nearstation) +"cCH" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/space, +/area/space/nearstation) +"cCI" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/space, +/area/space/nearstation) +"cCJ" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/space, +/area/space/nearstation) +"cCP" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 5 + }, +/turf/open/space, +/area/space/nearstation) +"cCQ" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/space, +/area/space/nearstation) +"cCS" = ( +/obj/structure/lattice, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/atmos) +"cCT" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cCY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cDl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/vending/tool, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cDm" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/vending/engivend, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cDs" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"cDB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cDJ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cDK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cDN" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/main) +"cDY" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "External Access"; + req_access_txt = "13" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cDZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/closet/radiation, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cEo" = ( +/obj/structure/closet/boxinggloves, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"cGf" = ( +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"cHf" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/table/wood, +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_x = -3; + pixel_y = 20 + }, +/obj/item/reagent_containers/food/condiment/peppermill{ + dir = 1; + pixel_x = 3; + pixel_y = 20 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/reagent_containers/food/drinks/britcup, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"cHD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2; + sortType = 14 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) +"cHE" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Mech Bay Maintenance"; + req_access_txt = "29" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) +"cHF" = ( +/obj/machinery/button/door{ + id = "Skynet_launch"; + name = "Mech Bay Door Control"; + pixel_x = 6; + pixel_y = 24 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"cHG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"cHH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"cHI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"cHJ" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"cHK" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research/glass{ + name = "Robotics Lab"; + req_access_txt = "29" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cHL" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 2 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"cHM" = ( +/obj/structure/chair/office/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cHN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/circuit/red, +/area/science/robotics/mechbay) +"cHO" = ( +/obj/machinery/conveyor_switch/oneway{ + id = "robo1" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cHP" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/table, +/obj/item/storage/belt/utility, +/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; + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cHQ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/mechbay) +"cHR" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "robo1" + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cHS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/landmark/start/roboticist, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cHT" = ( +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cHU" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cHV" = ( +/obj/machinery/conveyor_switch/oneway{ + id = "robo2" + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cHW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/mecha_part_fabricator, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cHX" = ( +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/clothing/head/welding{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/item/clothing/glasses/welding, +/obj/item/multitool{ + pixel_x = 3 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cHZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cIa" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cIb" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/conveyor{ + dir = 4; + id = "robo2" + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cIc" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/bot, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cId" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cIe" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cIf" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"cIg" = ( +/obj/docking_port/stationary{ + dir = 8; + dwidth = 3; + height = 15; + id = "arrivals_stationary"; + name = "arrivals"; + roundstart_template = /datum/map_template/shuttle/arrival/box; + width = 7 + }, +/turf/open/space/basic, +/area/space) +"cIh" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/airlock/external{ + name = "Port Docking Bay 1" + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"cIv" = ( +/obj/structure/sign/poster/official/cohiba_robusto_ad, +/turf/closed/wall/r_wall/syndicate, +/area/service/lawoffice) +"cJA" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"cJW" = ( +/obj/machinery/computer/gateway_control, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"cKC" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"cLS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office/b) +"cMC" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/computer/security/telescreen/engine{ + dir = 8; + pixel_x = 30 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cMQ" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/solar{ + id = "starboardsolar"; + name = "Starboard Solar Array" + }, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solars/starboard/aft) +"cNa" = ( +/obj/structure/cable, +/obj/machinery/power/solar{ + id = "starboardsolar"; + name = "Starboard Solar Array" + }, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solars/starboard/aft) +"cNd" = ( +/turf/open/space/basic, +/area/space/station_ruins) +"cNi" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "Prison Gate"; + name = "prison blast door" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Prison Gate"; + name = "Prison Lockdown Shutters" + }, +/turf/open/floor/plating, +/area/security/prison/upper) +"cNE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/service/bar) +"cNG" = ( +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"cNI" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/cargo/sorting) +"cNJ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"cNL" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/central"; + dir = 1; + name = "Central Maintenance APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/central) +"cNM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"cNN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/sorting) +"cNR" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"cNS" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/starboard"; + dir = 4; + name = "Starboard Maintenance APC"; + pixel_x = 24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"cNT" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 8 + }, +/obj/machinery/meter, +/turf/open/floor/plating, +/area/maintenance/starboard) +"cNU" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"cNV" = ( +/obj/machinery/door/airlock/maintenance/abandoned{ + req_one_access_txt = "8;12" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"cNW" = ( +/obj/structure/table/reinforced, +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/obj/item/card/id/syndicate, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/bar) +"cNX" = ( +/obj/machinery/door/airlock/maintenance{ + req_one_access_txt = "8;12" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cNY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard/aft) +"cNZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cOb" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cOe" = ( +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cOw" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cOx" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cOT" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cOV" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/sign/warning/securearea{ + pixel_x = -32 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Prison Gate"; + name = "Prison Lockdown Shutters" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"cPb" = ( +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) +"cPA" = ( +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cPH" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + req_access_txt = "13" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cPI" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + req_access_txt = "13" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cPO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"cQw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall, +/area/maintenance/starboard/aft) +"cQB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cQF" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 8; + name = "8maintenance loot spawner" + }, +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/turf/open/floor/plating, +/area/service/abandoned_gambling_den) +"cQT" = ( +/obj/structure/table, +/obj/item/hand_labeler, +/obj/item/folder/blue, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"cRq" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple, +/turf/open/floor/mineral/plastitanium/red, +/area/security/execution/transfer) +"cSp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/security/prison/upper) +"cSA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/security/courtroom) +"cSE" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"cSF" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/tcommsat/server) +"cSL" = ( +/obj/machinery/button/door{ + id = "atmos"; + name = "Atmospherics Lockdown"; + pixel_x = -24; + pixel_y = 10; + req_access_txt = "24" + }, +/obj/machinery/button/door{ + desc = "A remote control-switch for secure storage."; + id = "Secure Storage"; + name = "Engineering Secure Storage"; + pixel_x = -24; + req_access_txt = "11" + }, +/obj/machinery/button/door{ + desc = "A remote control-switch for the engineering security doors."; + id = "Engineering"; + name = "Engineering Lockdown"; + pixel_x = -24; + pixel_y = -10; + req_access_txt = "10" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"cSM" = ( +/obj/machinery/computer/station_alert, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = 20 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cSN" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cSO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cSP" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cSQ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cSR" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/warning/nosmoking{ + pixel_y = 32 + }, +/obj/machinery/camera{ + c_tag = "Engineering Power Storage" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cSS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cST" = ( +/obj/effect/landmark/start/station_engineer, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cSU" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cSV" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cSW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cSX" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cSY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cSZ" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/ce) +"cTa" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cTb" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cTc" = ( +/obj/effect/spawner/structure/window, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/engineering/main) +"cTd" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/engineering/main) +"cTe" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cTf" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/requests_console{ + department = "Engineering"; + departmentType = 4; + name = "Engineering RC"; + pixel_y = 30 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/main) +"cTo" = ( +/obj/structure/table/wood, +/obj/item/storage/dice, +/obj/item/instrument/piano_synth, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"cTD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/power/apc{ + areastring = "/area/maintenance/central/secondary"; + dir = 8; + name = "Central Maintenance APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/central/secondary) +"cTE" = ( +/obj/machinery/computer/shuttle/mining{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/construction/mining/aux_base) +"cTF" = ( +/obj/machinery/door/airlock/maintenance/abandoned{ + req_access_txt = "12" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cTJ" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) +"cTK" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) +"cTO" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) +"cTS" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) +"cTX" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/shieldwallgen/xenobiologyaccess, +/obj/structure/sign/poster/official/safety_eye_protection{ + pixel_x = 32 + }, +/turf/open/floor/plating, +/area/science/xenobiology) +"cTY" = ( +/obj/structure/sign/poster/official/safety_internals{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cTZ" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/xenobiology) +"cUb" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/disposalpipe/segment, +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/blood/old, +/obj/item/kirbyplants/random, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cUx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/ai_monitored/command/nuke_storage) +"cVb" = ( +/turf/closed/wall/r_wall/syndicate, +/area/hallway/secondary/service) +"cVs" = ( +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"cVw" = ( +/obj/machinery/hydroponics/soil{ + pixel_y = 8 + }, +/obj/item/seeds/tower, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"cVE" = ( +/obj/machinery/computer/cryopod{ + pixel_y = 26 + }, +/obj/effect/turf_decal/loading_area, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"cVK" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"cXU" = ( +/obj/effect/turf_decal/tile/red, +/obj/machinery/light{ + light_color = "#c9d3e8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"cYf" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"cZe" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"daq" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"daI" = ( +/obj/structure/window/reinforced, +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"dbb" = ( +/obj/machinery/atmospherics/components/unary/relief_valve/atmos/atmos_waste{ + dir = 1 + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/engineering/atmos) +"dbU" = ( +/obj/structure/light_construct{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"dce" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/meter, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"dcX" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"ddl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet/locker) +"ddI" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/airlock{ + name = "Theatre Backstage"; + req_access_txt = "46" + }, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"ddM" = ( +/obj/structure/sign/poster/contraband/kudzu, +/turf/closed/wall/r_wall/syndicate, +/area/service/kitchen) +"dev" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/power/apc{ + areastring = "/area/cargo/storage"; + name = "Cargo Bay APC"; + pixel_x = 1; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"dfh" = ( +/obj/machinery/power/apc{ + areastring = "/area/science/circuit"; + dir = 4; + name = "Circuitry Lab APC"; + pixel_x = 24 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"dfL" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/bar) +"dgz" = ( +/turf/closed/wall/r_wall/syndicate, +/area/commons/cryopod) +"dgO" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/gravity_generator) +"diq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"diH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/atmos, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"dkM" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"dly" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/security/range) +"dml" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters{ + id = "stationawaygate"; + name = "Gateway Access Shutters" + }, +/turf/open/floor/plasteel, +/area/command/gateway) +"dmX" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/service/chapel/main) +"dnW" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/medical/paramedic) +"dnX" = ( +/obj/effect/turf_decal/stripes/white/line, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"dsi" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/commons/arcade) +"dsJ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/table/glass, +/obj/item/toy/figure/chaplain{ + pixel_y = -9 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"dvb" = ( +/obj/structure/table, +/obj/item/storage/fancy/cigarettes/cigpack_syndicate, +/turf/open/floor/carpet/black, +/area/commons/arcade) +"dvc" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/commons/cryopod) +"dvO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/closed/wall/r_wall/syndicate, +/area/science/circuit) +"dxv" = ( +/obj/machinery/camera{ + c_tag = "Prison Cafeteria"; + dir = 8; + network = list("ss13","prison") + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"dyC" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/commons/locker) +"dyE" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "Secure Gate"; + name = "brig shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/brig) +"dyS" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Prison Cafeteria" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"dzi" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/carpet, +/area/commons/cryopod) +"dzK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"dAe" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 1 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"dCd" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"dCr" = ( +/obj/structure/pool/Rboard, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"dCt" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"dCV" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/range) +"dEX" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/machinery/requests_console{ + department = "Atmospherics"; + departmentType = 4; + name = "Atmos RC"; + pixel_x = -30 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"dFX" = ( +/turf/closed/wall/r_wall/syndicate, +/area/commons/fitness/pool) +"dGa" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/commons/arcade) +"dIu" = ( +/obj/structure/chair/sofa{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"dIZ" = ( +/turf/open/floor/padded, +/area/security/execution/transfer) +"dJu" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/button/door{ + id = "permacells3"; + name = "Privacy Shutters"; + pixel_x = 25 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"dJL" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/airlock/command{ + name = "Head of Security's Office"; + req_access_txt = "58" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/mineral/plastitanium/red, +/area/command/heads_quarters/hos) +"dKP" = ( +/obj/structure/closet/secure_closet/freezer/kitchen, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"dLi" = ( +/obj/machinery/hydroponics/soil, +/obj/item/cultivator, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"dLl" = ( +/obj/item/stack/rods, +/turf/open/space, +/area/space) +"dLZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"dMj" = ( +/obj/machinery/space_heater, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"dMZ" = ( +/obj/structure/sign/poster/official/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"dNP" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"dPk" = ( +/obj/structure/closet{ + name = "Costume Closet" + }, +/obj/item/clothing/head/russobluecamohat, +/obj/item/clothing/head/russobluecamohat, +/obj/item/clothing/head/ushanka, +/obj/item/clothing/head/ushanka, +/obj/item/clothing/head/ushanka, +/obj/item/clothing/head/ushanka, +/obj/item/clothing/under/misc/blue_camo, +/obj/item/clothing/under/misc/blue_camo, +/obj/item/clothing/under/misc/blue_camo, +/obj/item/clothing/under/misc/blue_camo, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"dPq" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/fore) +"dPs" = ( +/obj/machinery/hydroponics/soil, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"dPE" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"dQD" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Incinerator to MiniSat" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"dQS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"dSh" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"dTI" = ( +/obj/structure/urinal{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"dXq" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"dYl" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/command/gateway) +"dYQ" = ( +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/button/electrochromatic{ + id = "!permabrigshowers"; + pixel_x = -25 + }, +/turf/open/floor/plasteel/freezer, +/area/security/prison/cells) +"dYZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/range) +"dZm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/commons/storage/art) +"eaI" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom{ + pixel_x = -30 + }, +/obj/item/stock_parts/cell/high, +/obj/item/stock_parts/cell/high, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"eaR" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/space, +/area/solars/starboard/fore) +"ebo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/security/execution/transfer) +"ecp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/bodycontainer/morgue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"ecB" = ( +/obj/item/toy/beach_ball/holoball, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"edj" = ( +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) +"edA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/item/kirbyplants{ + icon_state = "plant-04" + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"efs" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"efO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"egt" = ( +/obj/machinery/requests_console{ + department = "Bar"; + departmentType = 2; + pixel_x = -30; + pixel_y = 45; + receive_ore_updates = 1 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"eih" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"eiB" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/bodycontainer/morgue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"eiZ" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/manifold/purple/visible{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"ejr" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/grunge{ + name = "Permanent Cell 4"; + wiretypepath = /datum/wires/airlock/security + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"eky" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/baguette, +/obj/structure/mirror{ + pixel_y = 32 + }, +/obj/item/toy/crayon/spraycan/mimecan, +/obj/item/toy/dummy, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"elh" = ( +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"emf" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Permabrig Maintenance"; + req_access_txt = "1" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/prison/starboard) +"ene" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"enB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/security/execution/transfer) +"enJ" = ( +/obj/structure/girder, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"enS" = ( +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"eoJ" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/grunge{ + name = "Permanent Cell 5"; + wiretypepath = /datum/wires/airlock/security + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"eoR" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"epj" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"epD" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/obj/structure/chair/sofa/right{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"epG" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"eqq" = ( +/obj/machinery/atmospherics/pipe/manifold/orange/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"eqA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"esK" = ( +/obj/machinery/door/airlock/maintenance/abandoned{ + name = "Chemical Storage"; + req_access_txt = "12" + }, +/obj/structure/barricade/wooden, +/obj/structure/girder, +/turf/open/floor/plating, +/area/maintenance/fore) +"esL" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_y = 20 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"esZ" = ( +/obj/machinery/door/airlock{ + desc = "Private study room where nerds are probably playing Dungeons and Dragons 13e, or a place for blood cult rituals."; + id_tag = "PrivateStudy"; + name = "Private Study" + }, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/service/library) +"etr" = ( +/obj/structure/chair/stool, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"eus" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"evc" = ( +/obj/machinery/hydroponics/soil, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Prison Forestry"; + dir = 8; + network = list("ss13","prison") + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"evh" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Prison Workshop"; + dir = 4; + network = list("ss13","prison") + }, +/obj/item/stack/sticky_tape, +/obj/item/stack/sheet/cardboard{ + amount = 14 + }, +/obj/item/stack/packageWrap, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"evR" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/condiment/peppermill{ + pixel_x = 2 + }, +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_y = 2 + }, +/obj/item/reagent_containers/food/condiment/sugar, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/kitchen/knife, +/obj/item/kitchen/rollingpin, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"ewu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "holoprivacy"; + name = "Holodeck Shutters" + }, +/turf/open/floor/plating, +/area/commons/fitness) +"ewG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "permacells5"; + name = "Privacy Shutters" + }, +/turf/open/floor/plating, +/area/security/prison/cells) +"ewN" = ( +/obj/machinery/hydroponics/soil{ + pixel_y = 8 + }, +/obj/item/seeds/watermelon, +/obj/item/seeds/cannabis, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"exP" = ( +/obj/item/kirbyplants{ + icon_state = "plant-14" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"exX" = ( +/obj/machinery/door/airlock{ + name = "Shower Room" + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"eyq" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"eyM" = ( +/obj/machinery/mineral/ore_redemption{ + input_dir = 2; + output_dir = 1 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel, +/area/cargo/miningdock) +"eyS" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Air to Pure" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"ezF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"eAe" = ( +/obj/structure/dresser, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"eAG" = ( +/obj/item/clothing/under/misc/pj/blue, +/obj/item/clothing/shoes/sneakers/white, +/turf/open/floor/plating, +/area/maintenance/fore) +"eAJ" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"eBX" = ( +/obj/machinery/vending/cola/space_up, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"eCm" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/obj/machinery/door/airlock/external{ + name = "Atmospherics External Airlock"; + req_access_txt = "24" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plating, +/area/engineering/atmos) +"eCr" = ( +/obj/structure/closet{ + name = "Suit Closet" + }, +/obj/item/clothing/under/suit/white, +/obj/item/clothing/under/suit/tan, +/obj/item/clothing/under/suit/red, +/obj/item/clothing/under/suit/black_really, +/obj/item/clothing/under/suit/navy, +/obj/item/clothing/under/suit/green, +/obj/item/clothing/under/suit/black/skirt, +/obj/item/clothing/under/suit/checkered, +/obj/item/clothing/under/suit/charcoal, +/obj/item/clothing/under/suit/burgundy, +/obj/item/clothing/under/suit/black, +/obj/item/clothing/under/rank/civilian/lawyer/black, +/obj/item/clothing/under/suit/black, +/obj/item/clothing/under/rank/civilian/lawyer/blue, +/obj/item/clothing/under/rank/civilian/lawyer/bluesuit, +/obj/item/clothing/under/rank/civilian/lawyer/female, +/obj/item/clothing/under/rank/civilian/lawyer/purpsuit, +/obj/item/clothing/under/rank/civilian/lawyer/really_black, +/obj/item/clothing/under/rank/civilian/lawyer/red, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"eCB" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/security/prison/upper) +"eCR" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/gravity_generator) +"eDf" = ( +/obj/structure/window/reinforced/tinted{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"eDz" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/syringe/lethal/execution, +/obj/item/restraints/handcuffs, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"eDF" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/chair/comfy/brown{ + color = "#596479"; + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"eDJ" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"eFx" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"eFH" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"eFW" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"eIW" = ( +/obj/structure/table, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"eJa" = ( +/obj/structure/table/wood/poker, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/item/toy/cards/deck/syndicate, +/turf/open/floor/carpet/black, +/area/service/bar) +"eJu" = ( +/obj/machinery/button/door{ + id = "executionspaceblast"; + name = "Vent to Space"; + pixel_x = 25; + pixel_y = -5; + req_access_txt = "7" + }, +/obj/machinery/button/flasher{ + id = "executionflash"; + pixel_x = 24; + pixel_y = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/execution/transfer) +"eMs" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"eOu" = ( +/obj/structure/table/wood, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/coin/plasma, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"eQb" = ( +/turf/open/floor/carpet/black, +/area/commons/dorms) +"eRr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"eRz" = ( +/obj/structure/lattice, +/obj/structure/grille, +/turf/open/space/basic, +/area/space/nearstation) +"eRS" = ( +/obj/structure/table, +/obj/item/folder/red{ + pixel_x = 3 + }, +/obj/item/taperecorder{ + pixel_x = -3 + }, +/obj/item/assembly/flash/handheld, +/obj/item/reagent_containers/spray/pepper, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/execution/transfer) +"eSe" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/sign/poster/contraband/kss13, +/turf/closed/wall/r_wall/syndicate, +/area/service/hydroponics) +"eSJ" = ( +/obj/machinery/button/ignition{ + id = "executionburn"; + pixel_x = 24; + pixel_y = 5 + }, +/obj/machinery/button/door{ + id = "executionfireblast"; + name = "Transfer Area Lockdown"; + pixel_x = 25; + pixel_y = -5; + req_access_txt = "2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/execution/transfer) +"eTt" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/port/fore) +"eTA" = ( +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_x = -3; + pixel_y = 20 + }, +/obj/item/reagent_containers/food/condiment/peppermill{ + dir = 1; + pixel_x = 3; + pixel_y = 20 + }, +/obj/structure/table/reinforced, +/turf/open/floor/carpet/black, +/area/service/bar) +"eUy" = ( +/obj/machinery/door/airlock{ + name = "Starboard Emergency Storage" + }, +/turf/open/floor/plating, +/area/commons/storage/emergency/starboard) +"eUW" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 9 + }, +/turf/open/space, +/area/space/nearstation) +"eVC" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/commons/cryopod) +"eVL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"eWL" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Prison Gate"; + name = "Prison Lockdown Shutters" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"eXz" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"eXI" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"eXL" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"eZa" = ( +/obj/effect/landmark/start/paramedic, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"eZI" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 10 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"eZS" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/prison/starboard) +"fbp" = ( +/obj/structure/tank_dispenser, +/obj/effect/turf_decal/bot, +/turf/open/floor/engine, +/area/science/storage) +"fbr" = ( +/obj/machinery/door/window/southleft{ + base_state = "right"; + dir = 4; + icon_state = "right"; + name = "Transfer Chamber Configuration"; + req_access_txt = "2" + }, +/obj/machinery/atmospherics/pipe/simple{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/security/execution/transfer) +"fbY" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/bed, +/obj/item/bedsheet/red, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"fcd" = ( +/obj/structure/chair/sofa/right{ + dir = 8 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) +"fcj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/prison/starboard) +"fcn" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"fcG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall/syndicate, +/area/science/mixing) +"fdJ" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"fdQ" = ( +/obj/structure/bed, +/obj/effect/spawner/lootdrop/bedsheet, +/turf/open/floor/plating, +/area/maintenance/fore) +"fdR" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + areastring = "/area/security/prison/cells"; + damage_deflection = 21; + desc = "A control terminal for the area's electrical systems. It's secured with a durable antitampering plasteel cage."; + dir = 4; + name = "Armored Prison Wing Cells APC"; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"fdS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light{ + dir = 1; + light_color = "#cee5d2" + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"feE" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"feG" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"fgl" = ( +/obj/structure/closet/crate/bin, +/turf/open/floor/carpet/black, +/area/commons/arcade) +"fgy" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/landmark/start/prisoner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "permacells3"; + name = "Privacy Shutters"; + pixel_y = -25 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"fhu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/rack, +/obj/item/clothing/under/costume/owl, +/obj/item/clothing/suit/toggle/owlwings, +/obj/item/clothing/mask/gas/owl_mask, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"fiv" = ( +/obj/structure/table, +/obj/item/cardpack/syndicate, +/turf/open/floor/carpet/black, +/area/commons/arcade) +"fiy" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal/incinerator) +"fiR" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"fjS" = ( +/obj/structure/closet/radiation, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"fjU" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 4 + }, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"fkh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard/aft) +"fkW" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/head/syndicatefake, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"flc" = ( +/obj/structure/table/reinforced, +/obj/item/storage/fancy/donut_box, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"flE" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"flP" = ( +/obj/machinery/hydroponics/soil{ + pixel_y = 8 + }, +/obj/item/seeds/carrot, +/obj/item/seeds/cannabis/white, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"fmJ" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) +"fmR" = ( +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"fnC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/service) +"fnE" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"foT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"fpl" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "holoprivacy"; + name = "Holodeck Shutters" + }, +/turf/open/floor/plating, +/area/commons/fitness) +"fpz" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"fpI" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/item/kirbyplants{ + icon_state = "plant-06" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"fsa" = ( +/obj/machinery/button/door{ + id = "armory3"; + name = "Armory Shutters"; + pixel_y = 26; + req_access_txt = "3" + }, +/obj/machinery/light{ + dir = 1; + light_color = "#cee5d2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"fsj" = ( +/obj/structure/table, +/obj/item/clothing/glasses/sunglasses{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/clothing/glasses/sunglasses{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/range) +"fty" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/space/nearstation) +"ftE" = ( +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"fup" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"fvk" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall/r_wall/syndicate, +/area/medical/storage) +"fvU" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/table/wood, +/obj/item/flashlight/lamp/bananalamp{ + pixel_y = 3 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/requests_console{ + department = "Theatre"; + name = "theatre RC"; + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"fvY" = ( +/obj/machinery/computer/cryopod{ + pixel_y = 26 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/commons/cryopod) +"fxa" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_y = 2 + }, +/obj/item/reagent_containers/food/condiment/peppermill{ + pixel_x = 2 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/bar) +"fxe" = ( +/obj/structure/window{ + dir = 1 + }, +/obj/structure/chair/sofa/corp, +/turf/open/floor/carpet/black, +/area/service/bar) +"fxx" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/security/brig) +"fxV" = ( +/turf/closed/wall/r_wall/syndicate, +/area/hallway/primary/central) +"fyS" = ( +/obj/structure/pool/ladder{ + dir = 1; + pixel_y = -24 + }, +/turf/open/pool, +/area/commons/fitness/pool) +"fzd" = ( +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"fAj" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/sign/poster/official/love_ian{ + pixel_x = 32; + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"fBy" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plating, +/area/service/abandoned_gambling_den) +"fBW" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/table, +/obj/machinery/button/door{ + id = "commissaryshutters"; + name = "Commissary Shutters Control"; + pixel_x = 24; + pixel_y = 6; + req_access_txt = null + }, +/obj/item/paper_bin{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"fCx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "holoprivacy"; + name = "Holodeck Privacy"; + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"fCJ" = ( +/obj/structure/sign/poster/contraband/missing_gloves{ + pixel_x = -32 + }, +/turf/open/floor/carpet/black, +/area/commons/arcade) +"fDn" = ( +/obj/structure/table, +/obj/item/trash/chips{ + pixel_x = -4; + pixel_y = 1 + }, +/obj/item/reagent_containers/food/drinks/beer/light{ + pixel_x = 7 + }, +/obj/item/cigbutt{ + pixel_x = 10; + pixel_y = 17 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"fFl" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/window{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/commons/locker) +"fFA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"fFR" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"fGf" = ( +/obj/machinery/smartfridge/disks{ + pixel_y = 2 + }, +/obj/structure/table, +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"fHi" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 10 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"fHG" = ( +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"fIs" = ( +/obj/structure/grille, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"fJY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"fKC" = ( +/obj/structure/chair/office/dark{ + dir = 1 + }, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"fKN" = ( +/obj/structure/table, +/obj/structure/bedsheetbin, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/cafeteria, +/area/security/prison/upper) +"fLN" = ( +/obj/structure/chair/sofa/corp/left, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/bar) +"fMp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"fMF" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/airlock/grunge{ + name = "Prison Laundry"; + wiretypepath = /datum/wires/airlock/security + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"fMY" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"fNB" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced/tinted/electrochromatic{ + electrochromatic_id = "!permabrigshowers" + }, +/turf/open/floor/plating, +/area/security/prison/cells) +"fNN" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"fOA" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"fOI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/item/kirbyplants{ + icon_state = "plant-18" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"fOK" = ( +/obj/machinery/shower{ + dir = 1 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"fPi" = ( +/obj/effect/decal/cleanable/oil{ + icon_state = "floor6" + }, +/obj/machinery/atmospherics/pipe/manifold/yellow/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"fPM" = ( +/obj/structure/reagent_dispensers/water_cooler, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"fRe" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/window{ + dir = 1 + }, +/obj/structure/bedsheetbin/color, +/obj/structure/table, +/turf/open/floor/plasteel/cafeteria, +/area/commons/locker) +"fSO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"fTg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"fTC" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 6 + }, +/obj/item/pen/fountain, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"fWi" = ( +/turf/open/floor/plasteel/dark, +/area/service/bar) +"fZm" = ( +/obj/structure/chair/sofa/left, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"fZR" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/storage/primary) +"gav" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"gaF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/paramedic) +"gbd" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"gbh" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Holodeck Door" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"gbq" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plating, +/area/construction) +"gbT" = ( +/obj/item/storage/box/lights/mixed, +/obj/machinery/power/apc{ + areastring = "/area/commons/storage/emergency/starboard"; + dir = 1; + name = "Starboard Emergency Storage APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) +"gcm" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/security/execution/transfer) +"gcx" = ( +/obj/structure/chair/sofa/corp{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"gcF" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/light_construct{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"gcV" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"gcX" = ( +/obj/structure/table, +/obj/item/flashlight/lamp, +/obj/item/stack/sheet/metal, +/obj/item/storage/box/bodybags, +/obj/item/pen, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple, +/turf/open/floor/mineral/plastitanium/red, +/area/security/execution/transfer) +"gcY" = ( +/obj/structure/weightmachine/weightlifter, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"geg" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/table, +/obj/item/trash/plate, +/obj/item/reagent_containers/food/snacks/egg/yellow, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"gfw" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/security/prison/upper) +"gfC" = ( +/obj/effect/turf_decal/tile/red, +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"gfD" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/carpet, +/area/commons/cryopod) +"gfQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"ggT" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"ghD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"giE" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/landmark/start/prisoner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "permacells4"; + name = "Privacy Shutters"; + pixel_y = 25 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"giT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"gjl" = ( +/turf/closed/wall/r_wall/syndicate, +/area/cargo/warehouse) +"gnf" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/departments/custodian{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"got" = ( +/obj/structure/closet, +/obj/item/poster/random_contraband, +/obj/item/poster/random_contraband, +/obj/item/poster/random_contraband, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"goJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"gpD" = ( +/obj/effect/turf_decal/bot_white/left, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"grc" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"grd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/security/prison/upper) +"grr" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal/incinerator) +"grA" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Holodeck Door" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"gsM" = ( +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"gvX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"gxc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/commons/locker) +"gxw" = ( +/obj/machinery/atmospherics/pipe/manifold/orange/visible, +/obj/machinery/meter, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/atmos) +"gxK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "permacells3"; + name = "Privacy Shutters" + }, +/turf/open/floor/plating, +/area/security/prison/cells) +"gyr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"gyy" = ( +/obj/machinery/door/airlock/security{ + name = "Isolation Cell"; + req_access_txt = "2" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/execution/transfer) +"gyQ" = ( +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"gzf" = ( +/obj/structure/window/reinforced/tinted{ + dir = 8 + }, +/obj/structure/window/reinforced/tinted{ + dir = 4 + }, +/obj/structure/curtain, +/turf/open/floor/plasteel/freezer, +/area/commons/dorms) +"gzY" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/fore) +"gAu" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "External to Waste" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"gBo" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"gCC" = ( +/obj/structure/sign/poster/contraband/rebels_unite, +/turf/closed/wall/r_wall/syndicate, +/area/commons/storage/primary) +"gDl" = ( +/obj/effect/landmark/carpspawn, +/turf/open/space/basic, +/area/space) +"gDO" = ( +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"gDP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/obj/item/radio/intercom{ + pixel_y = 20 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/processing) +"gER" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"gFs" = ( +/obj/effect/landmark/start/assistant, +/obj/structure/chair{ + dir = 1 + }, +/obj/structure/sign/poster/contraband/lusty_xenomorph{ + pixel_x = 32 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"gGK" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/suit/syndicatefake, +/obj/item/clothing/head/syndicatefake, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"gIU" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"gJi" = ( +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) +"gJN" = ( +/obj/structure/rack, +/obj/item/book/manual/wiki/engineering_singulo_tesla, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"gKo" = ( +/obj/structure/table/glass, +/obj/item/restraints/handcuffs/cable/zipties, +/obj/item/reagent_containers/blood/random, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"gKG" = ( +/obj/structure/bedsheetbin/towel, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) +"gLu" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"gLw" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/landmark/start/clown, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"gLz" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"gLG" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/heater/on, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"gLH" = ( +/obj/structure/closet/wardrobe/white, +/obj/item/clothing/shoes/jackboots, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"gMB" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/grunge{ + name = "Permanent Cell 6"; + wiretypepath = /datum/wires/airlock/security + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"gMD" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"gNE" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/security/brig) +"gOF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/structure/sign/poster/official/high_class_martini{ + pixel_x = -32 + }, +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/syndicate, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"gOZ" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/turf/open/floor/plating, +/area/commons/fitness) +"gPY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"gQr" = ( +/obj/machinery/atmospherics/components/binary/valve/digital{ + name = "gas to sauna" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"gRZ" = ( +/obj/structure/bookcase{ + name = "Forbidden Knowledge" + }, +/turf/open/floor/carpet/black, +/area/service/library) +"gSj" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/grunge{ + name = "Permanent Cell 3"; + wiretypepath = /datum/wires/airlock/security + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"gTx" = ( +/obj/effect/turf_decal/bot_white/left, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"gUu" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/gravity_generator) +"gVc" = ( +/obj/machinery/vending/sustenance, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"gWd" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/construction) +"gXs" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"gXu" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"gYo" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/closet/crate{ + icon_state = "crateopen" + }, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"gZB" = ( +/obj/item/clothing/mask/cigarette{ + pixel_x = -6; + pixel_y = 14 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"gZG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"gZT" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/prison/port"; + dir = 8; + name = "Prison Port Maintenance APC"; + pixel_x = -25 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/plating, +/area/maintenance/prison/port) +"haM" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -29 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"hbi" = ( +/obj/machinery/hydroponics/soil{ + pixel_y = 8 + }, +/obj/item/seeds/glowshroom, +/obj/item/seeds/cannabis/ultimate, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"hch" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"hcA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"hcT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/port/fore) +"hgG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/structure/extinguisher_cabinet{ + pixel_x = -27 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"hgO" = ( +/obj/item/storage/dice{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/snacks/cherrycupcake, +/obj/structure/table/reinforced, +/turf/open/floor/carpet/black, +/area/service/bar) +"hho" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"hiV" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"hkA" = ( +/obj/structure/table, +/obj/item/clothing/under/rank/prisoner/skirt{ + pixel_x = -13; + pixel_y = 5 + }, +/obj/item/clothing/under/rank/prisoner/skirt{ + pixel_x = 9; + pixel_y = 5 + }, +/obj/item/clothing/under/rank/prisoner{ + pixel_x = -2; + pixel_y = 5 + }, +/obj/machinery/flasher{ + id = "waitingflash"; + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"hlS" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"hlT" = ( +/obj/machinery/door/airlock/external{ + name = "Labor Camp Shuttle Airlock"; + req_access_txt = "2"; + shuttledocked = 1 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plating, +/area/security/processing) +"hlV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/commons/dorms) +"hmT" = ( +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/port) +"hnc" = ( +/obj/structure/chair/pew/left{ + dir = 4 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) +"hnp" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"hnU" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/window/westleft{ + base_state = "right"; + dir = 4; + icon_state = "right"; + name = "Shooting Range" + }, +/turf/open/floor/plating, +/area/security/range) +"hoL" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"hpY" = ( +/obj/machinery/vr_sleeper{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"hrF" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/space, +/area/solars/port/aft) +"hsb" = ( +/obj/structure/table/wood, +/obj/item/book/codex_gigas, +/obj/item/clothing/under/suit/red, +/obj/structure/destructible/cult/tome, +/turf/open/floor/carpet/black, +/area/service/library) +"hse" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"htu" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"hty" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/command/gateway) +"hvC" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"hvJ" = ( +/obj/item/toy/plush/beeplushie, +/turf/open/floor/padded, +/area/security/execution/transfer) +"hxg" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"hxn" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/open/floor/plating, +/area/engineering/atmos) +"hyY" = ( +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"hzs" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/plate_press, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"hzC" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"hzK" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/security/processing) +"hBw" = ( +/obj/structure/lattice, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/fore) +"hBA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/table, +/obj/item/storage/firstaid/regular{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"hCn" = ( +/obj/structure/closet/firecloset, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"hEL" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/security/execution/transfer) +"hGH" = ( +/obj/machinery/door/airlock{ + desc = "Private study room where nerds are probably playing Dungeons and Dragons 13e, or a place for blood cult rituals."; + id_tag = "PrivateStudy"; + name = "Private Study" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/service/library) +"hHQ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"hIM" = ( +/obj/machinery/door/airlock{ + name = "Unisex Restrooms" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"hJO" = ( +/obj/structure/closet/crate/trashcart, +/obj/effect/spawner/lootdrop/prison_contraband, +/obj/item/trash/chips, +/obj/item/trash/candy, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/security/prison/upper) +"hJP" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/turf/open/floor/plating, +/area/security/execution/transfer) +"hKo" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/spawner/structure/window/reinforced/tinted/electrochromatic{ + electrochromatic_id = "!permabrigshowers" + }, +/turf/open/floor/plating, +/area/security/prison/cells) +"hMs" = ( +/obj/structure/table, +/obj/item/storage/box/bodybags, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"hNm" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/turf/open/floor/plating, +/area/commons/locker) +"hOv" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/snacks/burger/plain, +/obj/structure/table/reinforced, +/turf/open/floor/carpet/black, +/area/service/bar) +"hPP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/closed/wall/r_wall/syndicate, +/area/cargo/warehouse) +"hQw" = ( +/obj/item/electropack/shockcollar, +/obj/item/assembly/signaler, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/prison/port) +"hQX" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable, +/turf/open/floor/plating, +/area/command/gateway) +"hQY" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"hRa" = ( +/obj/structure/table/reinforced, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/cell_charger{ + pixel_y = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"hRI" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plating, +/area/service/abandoned_gambling_den) +"hSf" = ( +/obj/structure/cable, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/port/fore) +"hSl" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"hSZ" = ( +/obj/structure/chair/comfy/black{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"hTt" = ( +/obj/structure/table/reinforced, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"hWd" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"hYd" = ( +/obj/machinery/door/airlock/medical{ + name = "Morgue"; + req_access_txt = "6" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"ibK" = ( +/turf/open/floor/plasteel/dark, +/area/security/processing) +"icS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille, +/turf/open/floor/plating, +/area/maintenance/prison/port) +"idK" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Firing Range"; + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/mineral/plastitanium/red, +/area/security/range) +"ifJ" = ( +/obj/machinery/biogenerator, +/obj/structure/sign/poster/contraband/have_a_puff{ + pixel_y = -32 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ifM" = ( +/obj/machinery/shower{ + dir = 8; + pixel_y = -4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/security/prison/cells) +"ihR" = ( +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"ihS" = ( +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/cafeteria, +/area/commons/locker) +"iiW" = ( +/obj/structure/table/reinforced, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/item/toy/cards/deck/syndicate, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"ijG" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/window, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/commons/locker) +"ijO" = ( +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"ikk" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"ikm" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"ikv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"iky" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ili" = ( +/obj/structure/table, +/obj/item/electropack, +/obj/item/screwdriver, +/obj/item/wrench, +/obj/item/clothing/head/helmet, +/obj/item/assembly/signaler, +/obj/machinery/light/small, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_y = 23 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/execution/transfer) +"imk" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 9 + }, +/turf/open/space/basic, +/area/space/nearstation) +"imZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"inq" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/fore) +"inw" = ( +/mob/living/simple_animal/hostile/retaliate/goose{ + desc = "Some evil loose goose."; + name = "Cere" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"inR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/service/theater) +"iou" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"iqi" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera{ + c_tag = "Prison Laundry"; + dir = 4; + network = list("ss13","prison") + }, +/turf/open/floor/plasteel/cafeteria, +/area/security/prison/upper) +"iql" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/item/beacon, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"iss" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/command/gateway) +"itD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/holopad, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"itK" = ( +/obj/structure/table, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/obj/structure/light_construct{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"itQ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating, +/area/security/range) +"ium" = ( +/mob/living/simple_animal/bot/cleanbot{ + name = "C.L.E.A.N." + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"iuR" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"ivJ" = ( +/obj/structure/curtain{ + pixel_y = -32 + }, +/obj/structure/table/optable, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"iwU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"iyG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"izg" = ( +/obj/item/cigbutt/cigarbutt, +/turf/open/floor/plating, +/area/maintenance/fore) +"izv" = ( +/obj/structure/table/reinforced, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/item/chameleon, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"iBj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille, +/turf/open/floor/plating, +/area/maintenance/prison/starboard) +"iBq" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/prison/starboard) +"iBv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"iCN" = ( +/obj/machinery/door/airlock{ + name = "Permabrig Showers" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"iDo" = ( +/obj/structure/grille, +/turf/open/space/basic, +/area/space/nearstation) +"iEJ" = ( +/obj/machinery/door/airlock/external{ + name = "Escape Pod One" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"iHk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/gravity_generator) +"iII" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/closet, +/obj/item/clothing/head/bowler, +/obj/item/clothing/neck/tie/red, +/obj/item/clothing/mask/cigarette/pipe, +/obj/item/clothing/mask/fakemoustache, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"iIS" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plating, +/area/engineering/atmos) +"iKV" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/floor/plating, +/area/engineering/atmos) +"iLJ" = ( +/obj/item/reagent_containers/glass/bucket, +/mob/living/simple_animal/pet/bumbles, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"iMv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/table/glass, +/obj/structure/bedsheetbin/towel, +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"iMy" = ( +/obj/structure/chair/sofa/right, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"iNn" = ( +/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/dark, +/area/service/kitchen/coldroom) +"iPX" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder{ + desc = "Used to grind things up into raw materials and liquids."; + pixel_y = 5 + }, +/obj/item/lighter, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/fore) +"iQc" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/syndicate, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"iQg" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"iRj" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/sign/warning/electricshock{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"iRV" = ( +/obj/structure/table, +/obj/item/storage/backpack/duffelbag/med/surgery, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"iTU" = ( +/obj/structure/musician/piano{ + icon_state = "piano" + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"iUp" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"iVH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/medical{ + name = "Operating Theatre"; + req_access_txt = "45" + }, +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"iVJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"iVU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/spawner/structure/window, +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/commons/cryopod) +"iWx" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, +/obj/item/coin/silver, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"iWK" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"iYE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/table/glass, +/obj/item/storage/firstaid/regular, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"iZd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall/syndicate, +/area/command/gateway) +"jaF" = ( +/obj/machinery/light/small, +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"jaG" = ( +/obj/structure/sign/poster/official/no_erp, +/turf/closed/wall/r_wall/syndicate, +/area/medical/chemistry) +"jaH" = ( +/obj/structure/door_assembly/door_assembly_mai, +/obj/item/electronics/airlock, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/service/abandoned_gambling_den) +"jbf" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc{ + areastring = "/area/hallway/secondary/service"; + dir = 1; + name = "Service Hall APC"; + pixel_y = 23 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/service) +"jbp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/item/flashlight, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"jbr" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/fore) +"jbK" = ( +/obj/item/stack/sheet/glass{ + amount = 20; + pixel_x = -3; + pixel_y = 6 + }, +/obj/item/stack/sheet/metal/fifty, +/obj/structure/rack, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) +"jdj" = ( +/obj/docking_port/stationary/random{ + dir = 4; + id = "pod_lavaland3"; + name = "lavaland" + }, +/turf/open/space, +/area/space) +"jdu" = ( +/obj/machinery/light/floor, +/obj/machinery/light/floor, +/obj/structure/sign/poster/contraband/borg_fancy_2{ + pixel_y = -32 + }, +/obj/structure/chair/sofa/corp/left{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"jdE" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/machinery/vending/wallmed{ + pixel_y = -28 + }, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/plasteel/dark, +/area/medical/paramedic) +"jex" = ( +/obj/machinery/door/airlock/medical{ + name = "Operating Theatre"; + req_access_txt = "45" + }, +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"jez" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"jfZ" = ( +/obj/machinery/computer/communications{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"jge" = ( +/obj/structure/grille, +/turf/open/floor/plating, +/area/space/nearstation) +"jgm" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/camera{ + c_tag = "Circuitry Lab"; + dir = 8; + network = list("ss13","rd") + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"jgA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"jiK" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/main) +"jiT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"jkx" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/computer/slot_machine, +/obj/item/coin/iron, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"jkz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/gravity_generator) +"jlm" = ( +/obj/machinery/rnd/production/techfab/department/cargo, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"jlQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/prison/port) +"jmL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai_upload) +"jmV" = ( +/obj/structure/table/wood/fancy, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/item/reagent_containers/food/drinks/britcup{ + desc = "Kingston's personal cup."; + pixel_x = 5; + pixel_y = 5 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"jnV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"jon" = ( +/obj/machinery/atmospherics/components/binary/valve/digital{ + name = "gas to sauna" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"jqD" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/commons/arcade) +"jqK" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/prison_contraband, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/prison/starboard) +"jrE" = ( +/obj/item/beacon, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"jrR" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"jsO" = ( +/obj/machinery/hydroponics/soil{ + pixel_y = 8 + }, +/obj/item/seeds/glowshroom, +/obj/item/seeds/corn, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"jtj" = ( +/obj/machinery/space_heater, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"juy" = ( +/obj/structure/mopbucket, +/obj/item/mop, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"juG" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchen"; + name = "kitchen shutters" + }, +/obj/item/reagent_containers/food/snacks/bluecherrycupcake{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"jvd" = ( +/obj/structure/closet/athletic_mixed, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"jvB" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"jvO" = ( +/obj/structure/rack, +/obj/item/flashlight{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/tank/internals/anesthetic{ + pixel_x = -3; + pixel_y = 1 + }, +/obj/item/tank/internals/oxygen/red{ + pixel_x = 3 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple{ + dir = 6 + }, +/turf/open/floor/plating, +/area/security/execution/transfer) +"jwH" = ( +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"jxx" = ( +/obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/public/glass{ + name = "Prison Yard" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"jxF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/maintenance/port) +"jyO" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"jzM" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engineering/atmos) +"jAD" = ( +/obj/structure/grille, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"jAN" = ( +/obj/machinery/vr_sleeper{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"jBi" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Holodeck Door" + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"jBA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/gravity_generator) +"jBQ" = ( +/obj/machinery/atmospherics/pipe/manifold4w/general/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"jBZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/landmark/start/mime, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"jCV" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"jDr" = ( +/obj/machinery/door/poddoor/preopen{ + id = "atmos"; + name = "Atmospherics Blast Door" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"jDZ" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/fore) +"jEc" = ( +/obj/machinery/vr_sleeper{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"jFB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"jFH" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"jGI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal/incinerator) +"jGW" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"jHh" = ( +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"jHp" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"jHt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"jIj" = ( +/obj/machinery/portable_atmospherics/scrubber/huge, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"jIs" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/space, +/area/solars/starboard/fore) +"jIy" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"jIH" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"jIW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"jJF" = ( +/obj/machinery/door/airlock/maintenance, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/port/aft) +"jKc" = ( +/obj/structure/closet/secure_closet/injection, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/power/apc{ + areastring = "/area/security/execution/transfer"; + dir = 1; + name = "Prisoner Transfer Centre"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/execution/transfer) +"jKj" = ( +/obj/structure/table, +/obj/item/razor, +/obj/item/toy/plush/borgplushie{ + desc = "A horrible abomination to God in plushie form. Legends say this is used to torture prisoners by repeatedly beating them in the head with it.. ..It feels sorta heavy."; + force = 1; + name = "dogborg plushie"; + throwforce = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple{ + dir = 5 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/execution/transfer) +"jKm" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"jKP" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"jLn" = ( +/obj/machinery/door/airlock/engineering{ + name = "Gravity Generator"; + req_access_txt = "11" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plasteel/dark, +/area/engineering/engine_smes) +"jLJ" = ( +/obj/structure/table/reinforced, +/obj/item/gun/ballistic/automatic/pistol, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"jLT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"jMW" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "PoolShut"; + name = "Pool Shutters"; + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"jNr" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/obj/item/cigbutt{ + pixel_x = -15; + pixel_y = 16 + }, +/turf/open/floor/plating/rust, +/area/maintenance/port/fore) +"jNN" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"jNT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/aft) +"jOB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/medical/glass{ + name = "Prison Forestry" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"jRw" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"jRV" = ( +/turf/open/floor/plasteel/dark, +/area/security/prison) +"jRW" = ( +/obj/item/reagent_containers/glass/bucket, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sink{ + dir = 8; + pixel_x = -12 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"jSD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"jSO" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"jSY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"jTy" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/cafeteria, +/area/security/prison/upper) +"jUN" = ( +/obj/structure/table/reinforced, +/obj/structure/reagent_dispensers/servingdish, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"jUV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"jVl" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"jVP" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"jVV" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"jVX" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"jYl" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"jZT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "maint2" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"kaq" = ( +/turf/closed/wall/mineral/titanium, +/area/space/nearstation) +"kbm" = ( +/obj/machinery/door/window/brigdoor/security/cell{ + id = "Cell 2"; + name = "Cell 2" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"kbO" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"kcx" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/turf/open/space/basic, +/area/space/nearstation) +"kcB" = ( +/obj/effect/turf_decal/tile/red, +/obj/machinery/camera{ + c_tag = "Prison Isolation Cell"; + dir = 8; + network = list("ss13","prison"); + view_range = 5 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/execution/transfer) +"kcR" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "permacells3"; + name = "Privacy Shutters"; + pixel_y = -25 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"kdF" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/closet/crate/coffin, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"kdO" = ( +/obj/machinery/pool/controller, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"kdP" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/range) +"ker" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"keM" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "Prison Gate"; + name = "prison blast door" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Prison Gate"; + name = "Prison Lockdown Shutters" + }, +/turf/open/floor/plating, +/area/security/prison/upper) +"kfv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/engineering/storage/tech) +"kfG" = ( +/obj/structure/table/wood, +/obj/item/toy/cards/deck, +/obj/item/instrument/harmonica, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"kfS" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/starboard/aft) +"kfX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/engine_smes) +"kgk" = ( +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) +"kgr" = ( +/obj/machinery/cryopod{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"kgB" = ( +/obj/machinery/vending/snack/orange, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"khb" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/structure/table, +/obj/item/kitchen/rollingpin, +/obj/item/shovel/spade, +/obj/item/reagent_containers/glass/bucket, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/service) +"khB" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Pool Maintenance"; + req_access_txt = "12" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"khO" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + aiControlDisabled = 1; + name = "Prisoner Transfer Centre"; + req_access_txt = "2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/execution/transfer) +"khV" = ( +/obj/machinery/vending/cola/red, +/obj/structure/sign/poster/contraband/robust_softdrinks{ + pixel_x = -32; + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"kic" = ( +/obj/structure/table, +/obj/item/circuitboard/machine/paystand{ + pixel_x = 5; + pixel_y = -5 + }, +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"kil" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 5 + }, +/turf/open/floor/plating, +/area/engineering/atmos) +"kiW" = ( +/obj/machinery/button/door{ + id = "Sauna"; + name = "Sauna Bolt Control"; + normaldoorcontrol = 1; + pixel_y = -25; + specialfunctions = 4 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) +"kiY" = ( +/obj/machinery/door/airlock/external{ + name = "Port Docking Bay 4" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"kkb" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"kkK" = ( +/obj/machinery/vending/autodrobe, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"klN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"kma" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/security/prison/cells) +"kmw" = ( +/obj/structure/chair/comfy/black{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"kmS" = ( +/obj/structure/dresser, +/obj/item/flashlight/lamp/green{ + pixel_x = -2; + pixel_y = 15 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"knx" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "bridge blast door" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"knA" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"kob" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"kqo" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/structure/chair/pew{ + dir = 4 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) +"kqy" = ( +/obj/machinery/gear_painter, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"ksa" = ( +/obj/structure/closet/secure_closet/brig, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"ktP" = ( +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"ktS" = ( +/turf/open/space/basic, +/area/space/nearstation) +"ktW" = ( +/obj/machinery/hydroponics/soil, +/obj/item/plant_analyzer, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"kuh" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"kuw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/power/apc{ + areastring = "/area/commons/arcade"; + dir = 8; + name = "Arcade Room"; + pixel_x = -25 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"kuA" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/item/radio/intercom{ + pixel_y = 20 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/range) +"kuL" = ( +/obj/item/trash/candy, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"kvL" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"kwY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"kxf" = ( +/obj/machinery/vr_sleeper{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"kzn" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/command/gateway) +"kzT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/science/mixing) +"kAH" = ( +/obj/machinery/camera{ + c_tag = "Bar West"; + dir = 4 + }, +/obj/machinery/computer/arcade/orion_trail, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"kAO" = ( +/obj/structure/window, +/obj/structure/chair/sofa/corp{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"kCa" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plating, +/area/security/range) +"kCo" = ( +/obj/machinery/door/airlock{ + name = "Theatre Backstage"; + req_access_txt = "46" + }, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"kEm" = ( +/mob/living/simple_animal/opossum/poppy, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"kEJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"kEY" = ( +/obj/effect/landmark/stationroom/box/engine, +/turf/open/space/basic, +/area/space) +"kGj" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"kGv" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"kGJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"kGL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/maintenance/prison/starboard) +"kHd" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Prisoner Processing"; + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/processing) +"kJE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"kMn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera{ + c_tag = "Permabrig North"; + dir = 4; + network = list("ss13","prison") + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/structure/disposaloutlet{ + dir = 4; + name = "Prisoner Delivery" + }, +/obj/effect/turf_decal/delivery, +/obj/structure/window/reinforced, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"kMt" = ( +/obj/machinery/computer/prisoner/gulag_teleporter_computer, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"kNv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/sign/poster/contraband/free_drone{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"kOE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"kOL" = ( +/obj/structure/table/glass, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"kPd" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/service) +"kPi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/light/small/broken{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"kPj" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/junction/flip, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"kQa" = ( +/obj/machinery/door/airlock/medical/glass{ + id_tag = "MedbayFoyer"; + name = "Paramedic's Office"; + req_access_txt = "5;6;12;64" + }, +/turf/open/floor/plating, +/area/medical/paramedic) +"kQk" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/department/medical/morgue) +"kQz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"kSb" = ( +/obj/effect/turf_decal/bot_red, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"kTj" = ( +/obj/machinery/door/airlock/maintenance/abandoned{ + req_access_txt = "12" + }, +/obj/structure/barricade/wooden, +/obj/structure/girder, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"kUC" = ( +/obj/machinery/chem_master/condimaster, +/turf/open/floor/plating, +/area/maintenance/fore) +"kVj" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/medical{ + name = "Paramedic's Office"; + req_access_txt = "5;6;12;64" + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"kWp" = ( +/obj/structure/shuttle/engine/heater{ + dir = 1 + }, +/turf/closed/wall/mineral/titanium, +/area/space/nearstation) +"kYk" = ( +/obj/machinery/door/firedoor, +/obj/structure/sign/departments/evac{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"kYm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/obj/structure/chair/stool, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"kZS" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"laq" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/range) +"laN" = ( +/obj/machinery/space_heater, +/turf/open/floor/plating, +/area/commons/storage/emergency/starboard) +"lcx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/closed/wall/r_wall/syndicate, +/area/command/gateway) +"ldT" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"ldY" = ( +/obj/machinery/door/airlock/security{ + name = "Firing Range"; + req_access_txt = "2" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"leE" = ( +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"lfu" = ( +/obj/machinery/light/small, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/urinal{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"lfV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"lgX" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"lht" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"lhQ" = ( +/obj/machinery/power/floodlight, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"lic" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"lip" = ( +/obj/structure/closet{ + name = "Suit Closet" + }, +/obj/item/clothing/under/suit/white, +/obj/item/clothing/under/suit/tan, +/obj/item/clothing/under/suit/red, +/obj/item/clothing/under/suit/black_really, +/obj/item/clothing/under/suit/navy, +/obj/item/clothing/under/suit/green, +/obj/item/clothing/under/suit/black/skirt, +/obj/item/clothing/under/suit/checkered, +/obj/item/clothing/under/suit/charcoal, +/obj/item/clothing/under/suit/burgundy, +/obj/item/clothing/under/suit/black, +/obj/item/clothing/under/rank/civilian/lawyer/black, +/obj/item/clothing/under/suit/black, +/obj/item/clothing/under/rank/civilian/lawyer/blue, +/obj/item/clothing/under/rank/civilian/lawyer/bluesuit, +/obj/item/clothing/under/rank/civilian/lawyer/female, +/obj/item/clothing/under/rank/civilian/lawyer/purpsuit, +/obj/item/clothing/under/rank/civilian/lawyer/really_black, +/obj/item/clothing/under/rank/civilian/lawyer/red, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"liJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/execution/transfer) +"ljV" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/closet/l3closet/scientist, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"lkT" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/disposalpipe/segment, +/obj/structure/grille, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"llb" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/computer/libraryconsole/bookmanagement, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"lnk" = ( +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"lpx" = ( +/obj/structure/window, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"lpQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/command/gateway) +"lqO" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/turf_decal/bot_white/right, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/nuke_storage) +"lsk" = ( +/obj/machinery/vending/kink, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"lsS" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"ltm" = ( +/obj/structure/chair/comfy/brown{ + color = "#66b266"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"ltw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"ltK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"lux" = ( +/obj/structure/closet/crate/hydroponics, +/obj/item/paper/guides/jobs/hydroponics, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/obj/item/seeds/onion, +/obj/item/seeds/garlic, +/obj/item/seeds/potato, +/obj/item/seeds/tomato, +/obj/item/seeds/carrot, +/obj/item/seeds/grass, +/obj/item/seeds/ambrosia, +/obj/item/seeds/wheat, +/obj/item/seeds/pumpkin, +/obj/effect/spawner/lootdrop/prison_contraband, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"lva" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"lvc" = ( +/obj/structure/window/reinforced/tinted{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"lvw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "permacells6"; + name = "Privacy Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/prison/cells) +"lwN" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"lzk" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 8 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/fore) +"lzt" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"lAB" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall/r_wall/syndicate, +/area/science/circuit) +"lAD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera{ + c_tag = "Prison Cell Block Central"; + dir = 1; + network = list("ss13","prison") + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"lAH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/processing) +"lBd" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/chair, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"lBk" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/public/glass{ + name = "Prison Yard" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"lBz" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/door/window/northleft{ + name = "Brig Operations"; + req_one_access_txt = "4; 1" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"lCi" = ( +/obj/docking_port/stationary/public_mining_dock{ + dir = 8 + }, +/turf/open/floor/plating, +/area/construction/mining/aux_base) +"lCo" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"lCt" = ( +/obj/machinery/light/small{ + dir = 1; + light_color = "#ffc1c1" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"lDm" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"lEf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "permacells4"; + name = "Privacy Shutters" + }, +/turf/open/floor/plating, +/area/security/prison/cells) +"lGm" = ( +/obj/machinery/shower{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/freezer, +/area/security/prison/cells) +"lGV" = ( +/obj/machinery/button/door{ + id = "maintdiy"; + name = "Shutters Control Button"; + pixel_x = -6; + pixel_y = 24 + }, +/turf/open/floor/plating, +/area/service/abandoned_gambling_den) +"lHK" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"lJA" = ( +/turf/closed/wall/r_wall/syndicate, +/area/security/prison/cells) +"lJC" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "Escape Pod Three" + }, +/turf/open/floor/plating, +/area/security/office) +"lJS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"lKj" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal/incinerator) +"lLf" = ( +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/command/nuke_storage) +"lLu" = ( +/obj/structure/chair/stool, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"lLA" = ( +/obj/machinery/computer/slot_machine{ + balance = 15; + money = 500 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"lMg" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"lNB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/landmark/xmastree{ + pixel_x = 14 + }, +/turf/open/floor/carpet/black, +/area/service/chapel/main) +"lNH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + pixel_x = 27 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/processing) +"lNQ" = ( +/obj/machinery/light{ + dir = 1; + light_color = "#d1dfff" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"lOr" = ( +/obj/machinery/light/floor, +/obj/structure/table/reinforced, +/obj/item/cardpack/syndicate, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"lPr" = ( +/obj/item/kirbyplants{ + icon_state = "applebush" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"lPG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/item/soap, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"lQG" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/science/circuit) +"lRb" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/range) +"lSa" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hallway/primary/port) +"lUP" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"lUS" = ( +/obj/structure/table/wood/fancy/black, +/obj/machinery/light/small, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"lUU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"lVy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"lWD" = ( +/turf/open/floor/carpet/black, +/area/commons/arcade) +"lYI" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"lZa" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/door/window/westright{ + name = "Red Corner" + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/commons/locker) +"lZl" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"lZn" = ( +/obj/machinery/door/airlock/security/glass{ + id_tag = null; + name = "Brig Infirmary"; + req_access_txt = "2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"lZp" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"lZs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/fore) +"lZK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/closed/wall/r_wall/syndicate, +/area/commons/fitness/pool) +"lZN" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "Sauna"; + name = "Sauna" + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) +"mau" = ( +/obj/machinery/power/apc{ + areastring = "/area/service/theater"; + dir = 8; + name = "Theatre APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"maP" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"maT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal/incinerator) +"maU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"mbC" = ( +/obj/effect/turf_decal/caution/stand_clear/red, +/turf/open/floor/plasteel/dark, +/area/cargo/miningdock) +"mbU" = ( +/obj/machinery/vr_sleeper{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"mcp" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/security/range) +"mcE" = ( +/obj/machinery/vending/cigarette, +/obj/structure/sign/poster/contraband/fun_police{ + pixel_x = 32 + }, +/turf/open/floor/carpet/black, +/area/commons/arcade) +"meb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/bed, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"mfI" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"mgF" = ( +/obj/structure/bed, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"mhv" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Prison Visitation Observation"; + req_access_txt = "2" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"mjr" = ( +/obj/structure/reagent_dispensers/keg/milk, +/turf/open/floor/carpet/black, +/area/service/bar) +"mjJ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/execution/transfer) +"mke" = ( +/obj/machinery/camera{ + c_tag = "Prison Common Room"; + dir = 8; + network = list("ss13","prison") + }, +/obj/machinery/vr_sleeper{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"mkv" = ( +/obj/machinery/camera{ + c_tag = "Gravity Generator Room"; + dir = 8 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"mkU" = ( +/obj/machinery/door/airlock/external{ + name = "Labor Camp Shuttle Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/security/processing) +"mml" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"mmx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet/locker) +"mnu" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"mnC" = ( +/obj/structure/target_stake, +/obj/item/target/syndicate, +/turf/open/floor/plating, +/area/security/range) +"moe" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/execution/transfer) +"mos" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/item/radio/intercom{ + desc = "Talk through this. It looks like it has been modified to not broadcast."; + name = "Prison Intercom (General)"; + pixel_x = -27; + pixel_y = -27; + prison_radio = 1 + }, +/obj/machinery/flasher{ + id = "Cell 3"; + pixel_x = -24; + pixel_y = -36 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/bed, +/obj/item/bedsheet/yellow, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"moD" = ( +/obj/item/reagent_containers/food/snacks/bluecherrycupcake{ + pixel_y = 5 + }, +/obj/structure/table/reinforced, +/turf/open/floor/carpet/black, +/area/service/bar) +"moS" = ( +/obj/machinery/atmospherics/pipe/manifold4w/yellow/visible, +/obj/machinery/meter, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"mps" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"mpI" = ( +/obj/structure/table/reinforced, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/item/toy/syndicateballoon, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"mpY" = ( +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/item/reagent_containers/glass/bottle/ammonia, +/obj/structure/sink{ + dir = 4; + pixel_x = 12 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/security/prison/upper) +"mqo" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"mqH" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "commissaryshutters"; + name = "Vacant Commissary Shutters" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/commons/locker) +"mqQ" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/maintenance/prison/port) +"mqZ" = ( +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"msp" = ( +/obj/machinery/computer/arcade/orion_trail, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"mte" = ( +/obj/structure/closet/crate, +/obj/item/reagent_containers/glass/bowl, +/obj/item/reagent_containers/glass/bowl, +/obj/item/reagent_containers/glass/bowl, +/obj/item/reagent_containers/glass/bowl, +/obj/item/reagent_containers/glass/bowl, +/obj/item/reagent_containers/glass/bowl, +/obj/item/reagent_containers/glass/bowl, +/obj/item/reagent_containers/glass/bowl, +/obj/item/storage/box/drinkingglasses, +/obj/item/storage/bag/tray/cafeteria, +/obj/item/storage/bag/tray/cafeteria, +/obj/item/storage/bag/tray/cafeteria, +/obj/item/storage/bag/tray/cafeteria, +/obj/item/storage/box/drinkingglasses, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"mtU" = ( +/obj/structure/sign/departments/holy, +/turf/closed/wall/r_wall/syndicate, +/area/service/chapel/main) +"mui" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Prison Common Room" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"muv" = ( +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/obj/machinery/shower, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"mvt" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"mvV" = ( +/obj/effect/spawner/lootdrop/prison_contraband, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/bed{ + dir = 8 + }, +/obj/item/bedsheet/red{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"mwj" = ( +/obj/structure/noticeboard{ + dir = 8; + pixel_x = 27 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/meeting_room) +"mwN" = ( +/obj/structure/chair/sofa/left, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"mwS" = ( +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"mxn" = ( +/obj/machinery/door/airlock/external{ + name = "Escape Pod Three" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/security/office) +"mxZ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/closet/crate/trashcart/laundry, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/under/rank/prisoner/skirt, +/obj/item/clothing/under/rank/prisoner/skirt, +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/shoes/sneakers/orange{ + pixel_y = 8 + }, +/obj/item/clothing/shoes/sneakers/orange{ + pixel_y = 8 + }, +/obj/item/clothing/shoes/sneakers/orange{ + pixel_y = 8 + }, +/obj/item/clothing/shoes/sneakers/orange{ + pixel_y = 8 + }, +/turf/open/floor/plasteel/cafeteria, +/area/security/prison/upper) +"myh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/service/theater) +"mzv" = ( +/obj/machinery/door/morgue{ + name = "Confession Booth" + }, +/turf/open/floor/wood/wood_large, +/area/service/chapel/main) +"mzB" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"mzT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/vending/coffee, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"mAH" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"mAT" = ( +/obj/machinery/shower{ + dir = 8; + pixel_y = -4 + }, +/turf/open/floor/plasteel/freezer, +/area/security/prison/cells) +"mCm" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plating, +/area/security/execution/transfer) +"mCo" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/execution/transfer) +"mDZ" = ( +/obj/structure/table/reinforced, +/obj/item/ammo_box/magazine/pistolm9mm, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"mFo" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"mGw" = ( +/obj/machinery/door/airlock/security{ + name = "Labor Shuttle"; + req_access_txt = "2" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/firedoor, +/turf/open/floor/mineral/plastitanium/red, +/area/security/range) +"mHA" = ( +/obj/item/reagent_containers/food/snacks/grown/banana, +/obj/item/reagent_containers/food/snacks/grown/banana, +/obj/item/reagent_containers/food/snacks/grown/wheat, +/obj/item/reagent_containers/food/snacks/grown/watermelon, +/obj/item/reagent_containers/food/snacks/grown/watermelon, +/obj/item/reagent_containers/food/snacks/grown/watermelon, +/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, +/obj/item/seeds/wheat, +/obj/item/seeds/watermelon, +/obj/item/seeds/watermelon, +/obj/item/seeds/grape, +/obj/item/seeds/glowshroom, +/obj/item/seeds/cannabis/rainbow, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"mHH" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"mHU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/light_construct{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"mIZ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"mJf" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/engineering/gravity_generator) +"mJo" = ( +/obj/structure/door_assembly/door_assembly_mai, +/obj/item/electronics/airlock, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"mJy" = ( +/obj/structure/table, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/item/restraints/handcuffs, +/obj/item/taperecorder, +/obj/item/folder/red, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"mJH" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced/tinted/electrochromatic{ + electrochromatic_id = "!permabrigshowers" + }, +/turf/open/floor/plating, +/area/security/prison/cells) +"mLS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) +"mNi" = ( +/obj/machinery/light_switch{ + pixel_x = -20 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"mNW" = ( +/obj/structure/sign/poster/official/fruit_bowl{ + pixel_y = 32 + }, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"mOB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/engineering/glass{ + name = "Gravity Generator"; + req_access_txt = "11" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"mOG" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/closed/wall, +/area/engineering/atmos) +"mPk" = ( +/obj/structure/bed, +/obj/machinery/button/door{ + id = "Dorm5"; + name = "Cabin Bolt Control"; + normaldoorcontrol = 1; + pixel_y = -25; + specialfunctions = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/effect/spawner/lootdrop/bedsheet, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"mPr" = ( +/obj/structure/rack, +/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, +/obj/item/clothing/under/color/grey, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"mPE" = ( +/obj/structure/sign/painting/library, +/turf/closed/wall/r_wall/syndicate, +/area/service/library) +"mQp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance"; + req_access_txt = "10; 13" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) +"mQS" = ( +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"mRe" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"mRQ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"mTG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/commons/locker) +"mZu" = ( +/obj/machinery/door/airlock{ + name = "Cleaning Closet" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/security/prison/upper) +"mZx" = ( +/obj/structure/table/glass, +/obj/item/storage/box/matches{ + pixel_x = 4; + pixel_y = -8 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"naj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "executionfireblast" + }, +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/security/execution/transfer) +"naI" = ( +/turf/open/space, +/area/space/station_ruins) +"nbr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hallway/primary/port) +"nbT" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "bridge blast door" + }, +/turf/open/floor/plating, +/area/hallway/primary/central) +"nbY" = ( +/obj/item/melee/baton/cattleprod, +/obj/item/stock_parts/cell/high, +/obj/item/electropack, +/obj/structure/closet/secure_closet{ + name = "Persuasion Storage"; + req_access = "list(2)" + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"ncg" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/shower{ + dir = 1 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"ncU" = ( +/obj/structure/window/reinforced/tinted{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "visitation"; + name = "Visitation Shutters" + }, +/obj/structure/window/reinforced, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"ndq" = ( +/turf/open/floor/plating, +/area/service/abandoned_gambling_den) +"nez" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hallway/primary/port) +"ngq" = ( +/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"ngs" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/fore) +"ngU" = ( +/obj/structure/rack, +/obj/item/storage/firstaid, +/obj/item/clothing/glasses/hud/health, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/fore) +"ngV" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"nhY" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 4; + name = "4maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"nko" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/landmark/start/prisoner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/button/door{ + id = "permacells2"; + name = "Privacy Shutters"; + pixel_x = 25 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"nkP" = ( +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"nmZ" = ( +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_atmos{ + pixel_x = 38; + pixel_y = 6 + }, +/turf/open/floor/engine, +/area/maintenance/disposal/incinerator) +"nnp" = ( +/obj/structure/closet/secure_closet/medical1, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/fore) +"nnM" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/starboard/aft) +"noa" = ( +/obj/machinery/door/airlock/maintenance/abandoned, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"noy" = ( +/obj/structure/sign/poster/contraband/smoke{ + desc = "This poster reminds us all that the Detective is a parasite. Year after year, they must get replacement lungs because of their addiction. "; + pixel_y = -32 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"noF" = ( +/obj/machinery/door/airlock{ + name = "Instrument Storage" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"noJ" = ( +/obj/structure/closet/secure_closet/brig, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"noL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"noR" = ( +/obj/structure/sink/kitchen{ + pixel_y = 28 + }, +/obj/structure/chair/stool, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"nqu" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/security/prison/upper) +"nss" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/door/window/northright{ + name = "Brig Operations"; + req_one_access_txt = "4; 1" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"nsA" = ( +/turf/closed/wall/r_wall/syndicate, +/area/service/abandoned_gambling_den) +"ntt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"nuw" = ( +/obj/structure/table, +/obj/item/storage/box/syndie_kit/chameleon, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"nwX" = ( +/obj/structure/grille/broken, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"nxv" = ( +/obj/machinery/power/apc{ + areastring = "/area/construction"; + name = "Construction Area APC"; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/construction) +"nyi" = ( +/turf/closed/wall/r_wall/syndicate, +/area/medical/paramedic) +"nyn" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"nzB" = ( +/obj/machinery/hydroponics/soil{ + pixel_y = 8 + }, +/obj/item/seeds/grass, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"nzR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal/incinerator) +"nzX" = ( +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 8; + name = "8maintenance loot spawner" + }, +/obj/structure/rack, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"nBI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/fore) +"nDd" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"nEj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/security/processing) +"nEu" = ( +/turf/closed/wall/r_wall/syndicate, +/area/medical/surgery) +"nFj" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 10 + }, +/turf/open/space/basic, +/area/space/nearstation) +"nFA" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"nGf" = ( +/obj/machinery/hydroponics/constructable, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"nGt" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"nJP" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"nJQ" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 4 + }, +/turf/open/space, +/area/space/nearstation) +"nLu" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"nLw" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/structure/window{ + dir = 1 + }, +/obj/structure/window{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/commons/locker) +"nLP" = ( +/obj/item/storage/bag/trash, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/security/prison/upper) +"nNF" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"nPr" = ( +/obj/item/broken_bottle, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"nQi" = ( +/obj/machinery/recharge_station, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"nRG" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/aft) +"nRO" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/grunge{ + name = "Permanent Cell 2"; + wiretypepath = /datum/wires/airlock/security + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"nSt" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"nSI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"nTG" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/processing) +"nTU" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Air to Ports" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"nUV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"nVz" = ( +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai_upload) +"nXg" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/syndie_kit/chameleon, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"nYe" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"nYT" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/turf/open/space, +/area/space/nearstation) +"nZh" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/security/execution/transfer) +"nZs" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"nZE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"nZL" = ( +/obj/machinery/computer/arcade/orion_trail, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"oax" = ( +/obj/machinery/light, +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_x = -3; + pixel_y = 20 + }, +/obj/item/reagent_containers/food/condiment/peppermill{ + dir = 1; + pixel_x = 3; + pixel_y = 20 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4; + pixel_y = 5 + }, +/obj/item/clothing/head/hardhat/cakehat, +/obj/structure/table/reinforced, +/turf/open/floor/carpet/black, +/area/service/bar) +"obq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/security/prison/upper) +"obs" = ( +/obj/machinery/light/small{ + dir = 1; + light_color = "#ffc1c1" + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/padded, +/area/security/execution/transfer) +"oby" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = 20 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"oce" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"ocv" = ( +/obj/structure/table, +/obj/item/clothing/gloves/boxing/yellow, +/obj/item/clothing/gloves/boxing/green, +/obj/item/clothing/gloves/boxing/blue, +/obj/item/clothing/gloves/boxing/blue, +/obj/item/clothing/gloves/boxing, +/obj/item/clothing/gloves/boxing, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"odx" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"odV" = ( +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"ofj" = ( +/obj/machinery/smartfridge/organ/preloaded, +/turf/closed/wall, +/area/medical/surgery) +"ofU" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"ohq" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"oiY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"okK" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/item/radio/intercom{ + desc = "Talk through this. It looks like it has been modified to not broadcast."; + name = "Prison Intercom (General)"; + pixel_x = -27; + pixel_y = -27; + prison_radio = 1 + }, +/obj/machinery/flasher{ + id = "Cell 1"; + pixel_x = -24; + pixel_y = -36 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/bed, +/obj/item/bedsheet/green, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"old" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/sign/departments/security{ + pixel_x = -32; + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"olr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"olH" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/prison_contraband, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"omk" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"omE" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters{ + id = "stationawaygate"; + name = "Gateway Access Shutters" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/command/gateway) +"omX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/holopad, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"ooF" = ( +/obj/effect/turf_decal/stripes/white/line, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"oqf" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"oqj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "holoprivacy"; + name = "Holodeck Shutters" + }, +/turf/open/floor/plating, +/area/commons/fitness) +"oqO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"oss" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"otC" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai_upload) +"ouf" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 4 + }, +/obj/structure/closet/secure_closet/paramedic, +/turf/open/floor/plasteel/dark, +/area/medical/paramedic) +"ouQ" = ( +/obj/machinery/vending/cigarette/beach, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"ovv" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/recharger, +/obj/item/gun/energy/laser/practice, +/obj/item/gun/energy/laser/practice, +/obj/structure/extinguisher_cabinet{ + pixel_y = 30 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/range) +"owa" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"owx" = ( +/obj/machinery/light, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/cafeteria, +/area/commons/locker) +"oxm" = ( +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/spawner/structure/window, +/turf/open/floor/grass, +/area/service/bar) +"oyl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/door/window/eastleft{ + name = "Blue Corner" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/commons/locker) +"oyN" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"oyX" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4; + name = "Air In" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"ozh" = ( +/obj/machinery/door/window/eastright{ + dir = 8; + name = "Holding Cell"; + req_access_txt = "2" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/flasher{ + id = "waitingflash"; + pixel_x = 6; + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"oAB" = ( +/obj/structure/fireplace{ + pixel_y = -6 + }, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"oBQ" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Space Loop In" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"oCF" = ( +/obj/structure/closet/crate{ + icon_state = "crateopen" + }, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"oDm" = ( +/obj/machinery/gulag_teleporter, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"oDD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"oDN" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "holoprivacy"; + name = "Holodeck Shutters" + }, +/turf/open/floor/plating, +/area/commons/fitness) +"oEZ" = ( +/obj/effect/spawner/lootdrop/keg, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"oGv" = ( +/obj/structure/extinguisher_cabinet, +/turf/closed/wall/r_wall/syndicate, +/area/hallway/primary/central) +"oHB" = ( +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"oIl" = ( +/obj/structure/weightmachine/weightlifter, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"oIJ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"oIW" = ( +/obj/structure/toilet/secret/low_loot{ + dir = 8 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/dorms) +"oJV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"oKh" = ( +/obj/structure/chair/sofa/corp/left{ + dir = 1 + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"oKB" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"oLl" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light_switch{ + pixel_y = -25 + }, +/turf/open/floor/plating, +/area/service/abandoned_gambling_den) +"oMT" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"oNz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"oPY" = ( +/obj/structure/window/reinforced/tinted{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"oQY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/medical/medbay/central) +"oTx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "permacells2"; + name = "Privacy Shutters" + }, +/turf/open/floor/plating, +/area/security/prison/cells) +"oTH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/shower, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"oTW" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"oUh" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"oUF" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/security/prison/upper) +"oVo" = ( +/obj/structure/pool/ladder, +/turf/open/pool, +/area/commons/fitness/pool) +"oVL" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"oVN" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"oXn" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 10 + }, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/atmos) +"oXV" = ( +/obj/structure/window/reinforced/tinted{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "visitation"; + name = "Visitation Shutters" + }, +/obj/structure/window/reinforced, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"oZl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/closet/wardrobe/pjs, +/obj/item/clothing/under/rank/civilian/janitor/maid, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"paJ" = ( +/obj/structure/rack, +/obj/item/storage/box/syndie_kit/chameleon, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"pbC" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/maintenance/aft) +"pcz" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"pem" = ( +/obj/machinery/button/door{ + desc = "Bolts the doors to the Private Study."; + id = "PrivateStudy"; + name = "Private Study Lock"; + pixel_x = 25; + pixel_y = 25; + req_access_txt = ""; + req_one_access_txt = "28;63" + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"peD" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"peE" = ( +/obj/structure/table/reinforced, +/obj/structure/reagent_dispensers/servingdish, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"pgf" = ( +/turf/open/floor/plasteel/freezer, +/area/commons/dorms) +"pgl" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"pgn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/security/range) +"pgq" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Prison Common Room" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"pgZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"pjg" = ( +/obj/structure/table/wood, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/fore) +"pkg" = ( +/turf/open/floor/plating, +/area/commons/storage/emergency/starboard) +"pkq" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) +"pkF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/extinguisher_cabinet{ + pixel_x = -27; + pixel_y = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"plS" = ( +/obj/machinery/door/window/brigdoor/security/cell{ + id = "Cell 1"; + name = "Cell 1" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"pnb" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/cafeteria, +/area/security/prison/upper) +"pnc" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/window{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/commons/locker) +"poc" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"pou" = ( +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/turf/open/floor/plating, +/area/service/abandoned_gambling_den) +"ppw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"pqe" = ( +/obj/structure/window{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/obj/structure/chair/sofa/corp, +/turf/open/floor/carpet/black, +/area/service/bar) +"pqs" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/gear_painter, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"pqR" = ( +/obj/structure/chair/pew/right{ + dir = 4 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) +"pry" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/port/fore) +"psf" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/sign/poster/official/the_owl{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"pst" = ( +/obj/machinery/gateway/centerstation, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"pta" = ( +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/space/nearstation) +"pub" = ( +/obj/machinery/light_switch{ + pixel_x = -20 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/machinery/power/apc{ + areastring = "/area/command/gateway"; + dir = 8; + name = "Gateway APC"; + pixel_x = -25; + pixel_y = -1 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"puh" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/light/small, +/obj/structure/extinguisher_cabinet{ + pixel_x = 5; + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"pvJ" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"pwF" = ( +/obj/machinery/shower{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/security/prison/cells) +"pzG" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -29 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"pzP" = ( +/obj/machinery/door/airlock/maintenance/abandoned{ + req_access_txt = "12" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"pAK" = ( +/obj/machinery/door/window/brigdoor/security/cell{ + id = "Cell 3"; + name = "Cell 3" + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"pBd" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/prison/starboard"; + dir = 4; + name = "Prison Central Maintenance APC"; + pixel_x = 24 + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/plating, +/area/maintenance/prison/starboard) +"pBp" = ( +/obj/effect/landmark/event_spawn, +/turf/closed/wall/r_wall/syndicate, +/area/commons/fitness) +"pCj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 5 + }, +/turf/open/floor/plating, +/area/engineering/atmos) +"pCE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"pDe" = ( +/obj/machinery/door/window/southright{ + name = "Target Storage" + }, +/obj/item/target/alien, +/obj/item/target/alien, +/obj/item/target/syndicate, +/turf/open/floor/plating, +/area/security/range) +"pDG" = ( +/obj/structure/closet, +/obj/item/clothing/glasses/science, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"pFj" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 4; + light_color = "#d8b1b1" + }, +/turf/open/floor/plasteel/dark, +/area/security/execution/transfer) +"pFt" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"pFY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/item/kirbyplants{ + icon_state = "plant-06" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"pGs" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/prison/starboard) +"pGA" = ( +/obj/machinery/hydroponics/soil, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"pHl" = ( +/obj/structure/table, +/obj/item/storage/box/beakers{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/storage/box/syringes, +/obj/item/reagent_containers/glass/bottle/epinephrine{ + pixel_x = 7; + pixel_y = -3 + }, +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_x = 8; + pixel_y = -3 + }, +/obj/item/reagent_containers/syringe{ + pixel_x = 6; + pixel_y = -3 + }, +/obj/item/radio/intercom{ + frequency = 1485; + name = "Station Intercom (Medbay)"; + pixel_x = 30 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"pHt" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"pHK" = ( +/obj/machinery/camera{ + c_tag = "Prison Yard"; + dir = 4; + network = list("ss13","prison") + }, +/obj/structure/chair/stool, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"pHO" = ( +/obj/effect/turf_decal/tile/blue, +/obj/structure/sign/poster/contraband/fun_police{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"pIR" = ( +/obj/structure/table, +/obj/item/storage/box/handcuffs{ + pixel_y = 10 + }, +/obj/item/storage/box/prisoner{ + pixel_y = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Prison Hallway West"; + network = list("ss13","prison") + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"pJR" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/chair/comfy/black{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"pLn" = ( +/obj/machinery/conveyor/inverted{ + dir = 5; + id = "garbage" + }, +/turf/open/floor/plating, +/area/maintenance/disposal) +"pMQ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"pNS" = ( +/obj/effect/decal/cleanable/dirt{ + desc = "A thin layer of dust coating the floor."; + name = "dust" + }, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"pPi" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"pPE" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "permacells1"; + name = "Privacy Shutters" + }, +/turf/open/floor/plating, +/area/security/prison/cells) +"pPI" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/gravity_generator) +"pQp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "holoprivacy"; + name = "Holodeck Shutters" + }, +/turf/open/floor/plating, +/area/commons/fitness) +"pQr" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"pQN" = ( +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"pRi" = ( +/obj/structure/table, +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_x = -4; + pixel_y = 1 + }, +/obj/item/reagent_containers/glass/bottle/chloralhydrate, +/obj/item/reagent_containers/glass/bottle/toxin{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_x = 5; + pixel_y = 1 + }, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/glass/bottle/facid{ + name = "fluorosulfuric acid bottle"; + pixel_x = -3; + pixel_y = 6 + }, +/obj/item/reagent_containers/syringe{ + pixel_y = 5 + }, +/obj/item/reagent_containers/dropper, +/obj/machinery/airalarm/directional/west, +/obj/item/assembly/signaler{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/machinery/atmospherics/pipe/simple{ + dir = 10 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/execution/transfer) +"pRj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/fore) +"pRs" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "holoprivacy"; + name = "Holodeck Shutters" + }, +/turf/open/floor/plating, +/area/commons/fitness) +"pTB" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/space, +/area/solars/starboard/aft) +"pTT" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"pUf" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"pUy" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"pUP" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engineering/atmos) +"pVi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"pXG" = ( +/obj/item/candle{ + pixel_x = 5; + pixel_y = 2 + }, +/obj/structure/table/reinforced, +/turf/open/floor/carpet/black, +/area/service/chapel/main) +"pYQ" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/item/reagent_containers/glass/bucket, +/obj/structure/sign/poster/official/hydro_ad{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"pZD" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/grunge{ + name = "Permanent Cell 1"; + wiretypepath = /datum/wires/airlock/security + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"qae" = ( +/obj/effect/decal/cleanable/vomit, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/fore) +"qaY" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/carpet/black, +/area/service/bar) +"qbk" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"qcU" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"qeb" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + areastring = "/area/service/abandoned_gambling_den"; + name = "Abandoned Gambling Den APC"; + pixel_y = -24 + }, +/turf/open/floor/plating, +/area/service/abandoned_gambling_den) +"qeA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Pool" + }, +/turf/open/floor/plasteel, +/area/commons/fitness/pool) +"qeQ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"qfk" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/window, +/obj/structure/window{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel, +/area/commons/locker) +"qfD" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + desc = "Privacy shutters for the Private Study. Stops people spying in on your game."; + id = "PrivateStudy1"; + name = "Private Study Privacy Shutters" + }, +/obj/effect/spawner/structure/window, +/turf/open/floor/plasteel/dark, +/area/service/library) +"qgj" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"qhA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/port/fore) +"qjo" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 4; + name = "4maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"qki" = ( +/obj/machinery/door/airlock{ + name = "Unisex Restrooms" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet/locker) +"qkn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"qkC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"qll" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/fore) +"qlV" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/fore) +"qlY" = ( +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/aft) +"qnC" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"qoT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/effect/turf_decal/stripes/line, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"qto" = ( +/obj/machinery/hydroponics/soil, +/obj/item/shovel/spade, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"qtw" = ( +/obj/machinery/door/airlock/external{ + name = "Port Docking Bay 4" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"qtH" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"qus" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchen"; + name = "kitchen shutters" + }, +/obj/item/reagent_containers/food/snacks/cheesynachos{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/dark, +/area/service/kitchen) +"quT" = ( +/obj/structure/lattice, +/obj/structure/grille/broken, +/turf/open/space/basic, +/area/space/nearstation) +"qvc" = ( +/obj/structure/table, +/obj/structure/window, +/obj/item/reagent_containers/food/condiment/saltshaker{ + layer = 3.1; + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/reagent_containers/food/condiment/peppermill{ + desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; + pixel_x = -8; + pixel_y = 2 + }, +/obj/item/reagent_containers/food/condiment/enzyme{ + pixel_x = 9; + pixel_y = 3 + }, +/obj/item/book/manual/chef_recipes, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"qvf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"qwA" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"qAu" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/rack, +/obj/item/storage/toolbox/emergency, +/obj/machinery/light/small, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"qBi" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"qCc" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/prison/port) +"qCw" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/commons/arcade) +"qCR" = ( +/obj/structure/musician/piano, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"qEB" = ( +/obj/machinery/hydroponics/soil{ + pixel_y = 8 + }, +/obj/item/seeds/berry, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"qFf" = ( +/obj/machinery/door/window/westright{ + dir = 2 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"qFK" = ( +/obj/machinery/biogenerator, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"qGw" = ( +/obj/structure/chair/pew/right{ + dir = 8 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) +"qIw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/commons/cryopod) +"qIO" = ( +/turf/open/floor/plating/rust, +/area/maintenance/starboard/aft) +"qIW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/execution/transfer) +"qJr" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/space, +/area/solars/port/aft) +"qJV" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"qLo" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced/tinted/electrochromatic{ + electrochromatic_id = "!permabrigshowers" + }, +/turf/open/floor/plating, +/area/security/prison/cells) +"qLy" = ( +/obj/structure/chair/sofa/left{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"qLR" = ( +/obj/structure/mirror{ + pixel_y = 32 + }, +/obj/structure/sink{ + pixel_y = 25 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/dorms) +"qMv" = ( +/obj/structure/sign/poster/contraband/syndicate_logo, +/turf/closed/wall/r_wall/syndicate, +/area/service/bar) +"qNU" = ( +/obj/machinery/door/poddoor/preopen{ + id = "executionfireblast" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/westright{ + dir = 2; + name = "Transfer Room"; + req_access_txt = "2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/execution/transfer) +"qOc" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/camera{ + c_tag = "VR Sleepers"; + dir = 1 + }, +/obj/machinery/light/small, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"qOB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"qOY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/prison/starboard) +"qQK" = ( +/obj/machinery/hydroponics/soil, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"qRI" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"qSf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"qSo" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/cafeteria, +/area/commons/locker) +"qSF" = ( +/obj/item/seeds/bee_balm/honey_balm, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"qTG" = ( +/obj/structure/table/reinforced, +/obj/item/book/granter/spell/mimery_blockade, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"qTV" = ( +/obj/item/kirbyplants{ + icon_state = "plant-22" + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"qUh" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Chapel Office"; + req_access_txt = "22" + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/office) +"qVP" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/service/abandoned_gambling_den) +"qWV" = ( +/obj/machinery/pool/filter{ + pixel_y = 24 + }, +/turf/open/pool, +/area/commons/fitness/pool) +"qXg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/vending/cola/red{ + onstation = 0 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"qXJ" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"qYa" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/prison/port) +"qZD" = ( +/obj/effect/decal/cleanable/egg_smudge, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"qZQ" = ( +/obj/structure/holohoop{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"qZT" = ( +/obj/machinery/shower{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/freezer, +/area/security/prison/cells) +"raH" = ( +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"rba" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/head/HoS/syndicate, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"rbH" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/window{ + dir = 1 + }, +/obj/machinery/washing_machine, +/turf/open/floor/plasteel/cafeteria, +/area/commons/locker) +"rcD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/science/circuit) +"rcI" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/closet/secure_closet/brig{ + id = "Cell 1"; + name = "Cell 1 Locker" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"rcV" = ( +/obj/structure/sign/warning/securearea{ + pixel_y = -32 + }, +/turf/open/space/basic, +/area/space) +"rdl" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engineering/atmos) +"rdG" = ( +/obj/machinery/hydroponics/constructable, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_x = 29 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"ref" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"reA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/obj/machinery/vending/games, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"reE" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"rgu" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + layer = 2.4 + }, +/turf/open/floor/plating, +/area/security/execution/transfer) +"rgL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"rgW" = ( +/obj/structure/chair/sofa/corp/right{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/bar) +"rhX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/processing) +"rla" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"rmN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/chair/comfy/black, +/turf/open/floor/carpet/black, +/area/service/bar) +"rmQ" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"rnt" = ( +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/command/meeting_room) +"rnK" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 1 + }, +/turf/open/space/basic, +/area/space/nearstation) +"rqf" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"rqk" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"rqq" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"rqE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"rrM" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/structure/closet/wardrobe/black, +/obj/item/clothing/under/dress/sundress, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"rsn" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "executionfireblast" + }, +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple, +/turf/open/floor/plating, +/area/security/execution/transfer) +"rsp" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/table, +/obj/item/flashlight, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"rtl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/camera{ + c_tag = "Gravity Generator - Fore" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"rtC" = ( +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/fore) +"rtU" = ( +/mob/living/simple_animal/opossum, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"ruo" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"ruu" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/security/glass{ + id_tag = "permaouter"; + name = "Permabrig Transfer"; + req_access_txt = "2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"rvr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"rvS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"rwj" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/closet/crate/bin, +/turf/open/floor/plating{ + icon_state = "platingdmg2" + }, +/area/maintenance/port/fore) +"rwA" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/port/fore) +"rxD" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Locker Room Toilets"; + dir = 8 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet/locker) +"rxF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/table/glass, +/obj/item/storage/book/bible{ + pixel_y = 17 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"ryi" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"ryr" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"ryN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"rAR" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"rAW" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/flasher{ + id = "executionflash"; + pixel_y = -25 + }, +/obj/machinery/light/small, +/turf/open/floor/plasteel/dark, +/area/security/execution/transfer) +"rBq" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"rBK" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/light/small, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"rBY" = ( +/obj/structure/bed, +/turf/open/floor/padded, +/area/security/execution/transfer) +"rCl" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Brig"; + req_access_txt = "63" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"rDc" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"rDh" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/sign/poster/contraband/clown{ + pixel_y = -32 + }, +/obj/structure/closet/crate/wooden/toy, +/obj/item/toy/crayon/spraycan/lubecan, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"rGo" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"rGq" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"rGZ" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/port/fore) +"rIA" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plating, +/area/service/abandoned_gambling_den) +"rJw" = ( +/obj/structure/table/glass, +/obj/item/storage/backpack/duffelbag/med/surgery, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"rKP" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/construction) +"rML" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"rNc" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/computer/security/telescreen/toxins{ + dir = 1; + pixel_y = -28 + }, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"rNG" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/command/storage/eva) +"rQJ" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/fore) +"rSf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"rTj" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"rTo" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "External to Pumps" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"rUe" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/medical/medbay/central) +"rUr" = ( +/obj/effect/spawner/lootdrop/prison_contraband, +/obj/structure/rack, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/prison/port) +"rVy" = ( +/obj/structure/chair/sofa/corp/right, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/bar) +"rVN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"rWg" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/paramedic) +"rXl" = ( +/obj/structure/chair/office/light, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"rYa" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"rYM" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/tracker, +/turf/open/floor/plasteel/airless/solarpanel, +/area/solars/port/fore) +"rZE" = ( +/obj/structure/table, +/turf/open/floor/carpet/black, +/area/commons/arcade) +"rZQ" = ( +/obj/docking_port/stationary{ + dir = 8; + dwidth = 3; + height = 5; + id = "commonmining_home"; + name = "SS13: Common Mining Dock"; + roundstart_template = /datum/map_template/shuttle/mining_common/meta; + width = 7 + }, +/turf/open/space/basic, +/area/space) +"saK" = ( +/obj/structure/closet/crate, +/obj/item/target/alien, +/obj/item/target/alien, +/obj/item/target/clown, +/obj/item/target/clown, +/obj/item/target/syndicate, +/obj/item/target/syndicate, +/obj/item/gun/energy/laser/practice, +/obj/item/gun/energy/laser/practice, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"saU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/engine_smes) +"sci" = ( +/obj/machinery/vr_sleeper{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"sew" = ( +/obj/structure/table, +/obj/machinery/microwave, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"seP" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "Secure Gate"; + name = "brig shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/security/brig) +"sfs" = ( +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/fore) +"sfz" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/bed, +/obj/item/bedsheet/red, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"shR" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"siz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"ske" = ( +/obj/machinery/camera{ + c_tag = "Permabrig South"; + dir = 1; + network = list("ss13","prison") + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"slk" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) +"smN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/machinery/camera{ + c_tag = "Locker Room West"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"smP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/closet/crate, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"spR" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/structure/chair/pew{ + dir = 8 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) +"sqg" = ( +/obj/structure/table/wood, +/obj/item/clothing/under/misc/pj/red, +/obj/item/clothing/shoes/sneakers/white, +/turf/open/floor/plating, +/area/maintenance/fore) +"srG" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plating, +/area/service/abandoned_gambling_den) +"ssc" = ( +/obj/effect/turf_decal/stripes/white/line, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"ssB" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"sth" = ( +/obj/structure/table/glass, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"str" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/closed/wall/r_wall/syndicate, +/area/commons/fitness/pool) +"stF" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/toy/poolnoodle/yellow, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"suC" = ( +/obj/machinery/shower{ + dir = 4 + }, +/obj/item/soap/nanotrasen, +/turf/open/floor/plasteel/freezer, +/area/security/prison/cells) +"suN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/landmark/event_spawn, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"suS" = ( +/obj/structure/table, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/condiment/flour, +/obj/item/reagent_containers/food/condiment/rice, +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"sxs" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/table, +/obj/item/storage/box/beakers{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/storage/box/beakers{ + pixel_x = 2; + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/service) +"syJ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"szf" = ( +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"sAk" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"sAm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"sAH" = ( +/obj/structure/chair/sofa/corp/right{ + dir = 1 + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"sAM" = ( +/obj/machinery/door/airlock/maintenance, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"sAT" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"sBM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"sEi" = ( +/obj/machinery/vr_sleeper{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"sEM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "holoprivacy"; + name = "Holodeck Shutters" + }, +/turf/open/floor/plating, +/area/commons/fitness) +"sFW" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/sign/departments/restroom{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"sHd" = ( +/obj/machinery/door/window/southleft{ + name = "Permabrig Kitchen" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"sHx" = ( +/obj/structure/table, +/obj/item/book/manual/hydroponics_pod_people{ + pixel_x = -4; + pixel_y = 5 + }, +/obj/item/paper/guides/jobs/hydroponics{ + pixel_x = -5; + pixel_y = 3 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"sIn" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/prison/starboard) +"sJw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/computer/shuttle/mining/common{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Arrivals Bay Mining Dock"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"sJx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/service/hydroponics) +"sJI" = ( +/obj/structure/table/wood/fancy, +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_x = -3; + pixel_y = 9 + }, +/obj/item/reagent_containers/food/condiment/peppermill{ + dir = 1; + pixel_x = 3; + pixel_y = 9 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"sKA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/closed/wall/r_wall/syndicate, +/area/security/execution/transfer) +"sKL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/maintenance/aft) +"sLj" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"sLv" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"sMu" = ( +/obj/structure/lattice, +/obj/structure/lattice, +/obj/structure/grille, +/turf/open/space/basic, +/area/space/nearstation) +"sMG" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"sMI" = ( +/obj/structure/table, +/obj/item/storage/secure/briefcase, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"sNg" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/security/execution/transfer) +"sNj" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"sOs" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance/abandoned, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"sOA" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"sPT" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"sPY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/engine_smes) +"sRd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/girder, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"sRH" = ( +/obj/machinery/autolathe/secure{ + name = "public autolathe" + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"sSW" = ( +/obj/structure/chair/office/light, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"sUx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/command/gateway) +"sVt" = ( +/obj/item/storage/secure/safe{ + pixel_y = 32 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"sVD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance/abandoned{ + name = "abandoned library"; + req_access_txt = "12" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"sWR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/computer/bounty{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/cargo/office) +"sXy" = ( +/obj/machinery/door/airlock/external{ + name = "Security External Airlock"; + req_access_txt = "63" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"sXV" = ( +/turf/closed/wall/r_wall/syndicate, +/area/security/range) +"sYm" = ( +/obj/effect/turf_decal/vg_decals/atmos/mix, +/turf/open/floor/engine/vacuum, +/area/engineering/atmos) +"sYv" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/structure/closet/secure_closet/freezer/cream_pie, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"sYV" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"tal" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/hallway/secondary/service) +"tbR" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/toilet{ + dir = 8 + }, +/obj/structure/window/reinforced/tinted{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"tcU" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "46" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/fore) +"tdd" = ( +/obj/machinery/camera{ + c_tag = "Prison Cell Block North"; + dir = 4; + network = list("ss13","prison") + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"teq" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/machinery/light, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"tgH" = ( +/obj/structure/filingcabinet/employment, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"thg" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"thB" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1; + light_color = "#cee5d2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"tif" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"tkq" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"tkx" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"tkB" = ( +/obj/structure/rack, +/obj/item/storage/box/syndie_kit/throwing_weapons, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"tkU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"tmO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating, +/area/security/range) +"tnH" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1; + light_color = "#cee5d2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"tnL" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"tqg" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/turf/open/floor/carpet, +/area/commons/cryopod) +"tqk" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/security/execution/transfer) +"tqB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"tqG" = ( +/obj/structure/chair/pew/left{ + dir = 8 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) +"trb" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/courtroom) +"trT" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"tso" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/toilet{ + dir = 4 + }, +/obj/structure/window/reinforced/tinted{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"tsq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"ttd" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"ttL" = ( +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"tur" = ( +/obj/machinery/deepfryer, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"tvi" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"twE" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"txs" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/window/reinforced/tinted{ + dir = 4 + }, +/obj/structure/toilet{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"tyb" = ( +/obj/machinery/door/poddoor/shutters{ + id = "visitation"; + name = "Visitation Shutters" + }, +/obj/machinery/door/window/southright, +/obj/structure/table/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"tyE" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"tyX" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"tzQ" = ( +/obj/machinery/shower{ + dir = 4 + }, +/obj/item/soap, +/turf/open/floor/plasteel/freezer, +/area/commons/dorms) +"tAC" = ( +/obj/structure/closet/athletic_mixed, +/obj/item/toy/poolnoodle/red, +/obj/item/toy/poolnoodle/blue, +/obj/item/toy/poolnoodle/yellow, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"tAH" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/atmos) +"tAS" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/hallway/secondary/exit) +"tBV" = ( +/turf/closed/wall/r_wall/syndicate, +/area/medical/storage) +"tCa" = ( +/obj/structure/table/wood, +/obj/item/instrument/guitar{ + pixel_x = -7 + }, +/obj/item/instrument/eguitar{ + pixel_x = 5 + }, +/obj/item/instrument/violin, +/turf/open/floor/carpet/black, +/area/service/bar) +"tCd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + alpha = 255; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"tCs" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/window/reinforced/tinted{ + dir = 4 + }, +/obj/structure/toilet{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"tEK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance"; + req_access_txt = "10; 13" + }, +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) +"tEL" = ( +/obj/structure/table, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/obj/item/storage/toolbox/electrical, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) +"tHh" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"tHy" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/item/kirbyplants{ + icon_state = "applebush" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"tHO" = ( +/obj/structure/table/reinforced, +/obj/item/storage/bag/tray/cafeteria, +/obj/item/storage/bag/tray/cafeteria, +/obj/item/storage/bag/tray/cafeteria, +/obj/item/storage/bag/tray/cafeteria, +/obj/item/storage/bag/tray/cafeteria, +/obj/item/storage/bag/tray/cafeteria, +/obj/item/storage/bag/tray/cafeteria, +/obj/item/storage/bag/tray/cafeteria, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"tIE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/paramedic) +"tJE" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/door/airlock/grunge{ + name = "Isolation Cell"; + req_access_txt = "2"; + wiretypepath = /datum/wires/airlock/security + }, +/turf/open/floor/plasteel/dark, +/area/security/execution/transfer) +"tJK" = ( +/obj/machinery/door/airlock/engineering{ + name = "Gravity Generator"; + req_access_txt = "11" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"tJS" = ( +/obj/effect/spawner/lootdrop/keg, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"tKb" = ( +/obj/item/radio/intercom{ + pixel_y = 20 + }, +/turf/open/floor/plating, +/area/commons/vacant_room/office/b) +"tKk" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/sign/warning/fire{ + desc = "A sign that states the labeled room's number."; + icon_state = "roomnum"; + name = "Room Number 1"; + pixel_x = -30; + pixel_y = -7 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"tLC" = ( +/obj/machinery/vr_sleeper{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"tNl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"tNF" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"tOk" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"tOq" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"tPY" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"tRe" = ( +/obj/machinery/chem_master, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/central) +"tRB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"tSm" = ( +/obj/item/kirbyplants{ + icon_state = "plant-18" + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"tSo" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 6 + }, +/turf/open/space/basic, +/area/space/nearstation) +"tTc" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"tTw" = ( +/obj/structure/girder, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"tVB" = ( +/obj/effect/landmark/blobstart, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet/locker) +"tVE" = ( +/obj/structure/table/reinforced, +/obj/item/grenade/plastic, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"tWe" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"tXs" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) +"tXL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal/incinerator) +"tYd" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple{ + dir = 10 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/execution/transfer) +"tYg" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"tZa" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"tZe" = ( +/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/pda_ad{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"tZp" = ( +/turf/closed/wall/r_wall/syndicate, +/area/commons/arcade) +"tZu" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"uaw" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/bar"; + dir = 1; + name = "Maint bar"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"udT" = ( +/obj/machinery/atmospherics/pipe/manifold/purple/visible, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"uei" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"ueN" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/cafeteria, +/area/security/prison/upper) +"ueZ" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_x = -30 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/machinery/camera{ + c_tag = "Atmospherics Central"; + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"ufD" = ( +/obj/machinery/vr_sleeper{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"ugi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"ugp" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"ugq" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/port/fore) +"ugu" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"uhm" = ( +/obj/machinery/door/airlock{ + name = "Recharging Station" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"uhK" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/security/prison/upper) +"ujv" = ( +/obj/structure/sign/departments/restroom, +/turf/closed/wall/r_wall/syndicate, +/area/commons/toilet) +"ujF" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/commons/cryopod) +"ujS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"ulM" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/toy/poolnoodle/red, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"unA" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"unQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/papercutter, +/obj/structure/table, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/hop) +"unR" = ( +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"uoB" = ( +/obj/structure/table/reinforced, +/obj/item/multitool, +/obj/item/screwdriver, +/obj/machinery/camera{ + c_tag = "Circuitry Lab North"; + network = list("ss13","rd") + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"uoG" = ( +/obj/machinery/power/apc{ + areastring = "/area/security/detectives_office"; + dir = 4; + name = "Detective's Office APC"; + pixel_x = 24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"uqu" = ( +/obj/machinery/hydroponics/soil{ + pixel_y = 8 + }, +/obj/item/cultivator, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"usE" = ( +/obj/effect/spawner/lootdrop/maintenance, +/obj/structure/rack, +/turf/open/floor/plating, +/area/maintenance/fore) +"usO" = ( +/obj/structure/chair/sofa/corp/left, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"uua" = ( +/obj/machinery/atmospherics/components/binary/valve, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"uuw" = ( +/obj/machinery/hydroponics/soil, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"uuG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"uve" = ( +/obj/structure/table, +/obj/effect/spawner/lootdrop/maintenance, +/obj/item/coin/silver, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"uwN" = ( +/obj/structure/sign/poster/contraband/power, +/turf/closed/wall/r_wall/syndicate, +/area/commons/locker) +"uwQ" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall/syndicate, +/area/command/gateway) +"uxY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/sorting/mail{ + sortType = 26 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"uzm" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/suit/syndicatefake, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"uBa" = ( +/obj/item/reagent_containers/food/drinks/soda_cans/starkist{ + pixel_x = 5; + pixel_y = 7 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/structure/table/reinforced, +/turf/open/floor/carpet/black, +/area/service/bar) +"uBf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"uBr" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"uCn" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/pen, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"uCo" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"uCU" = ( +/obj/machinery/door/airlock/security{ + name = "Interrogation"; + req_access_txt = "2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/firedoor, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"uDO" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/space, +/area/solars/port/fore) +"uEx" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/commons/fitness/pool) +"uFp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/sign/poster/official/cohiba_robusto_ad{ + pixel_y = -32 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/detectives_office) +"uFV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/power/apc{ + areastring = "/area/medical/storage"; + name = "Medbay Surgery Storage"; + pixel_x = 1; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"uFZ" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/light{ + light_color = "#cee5d2" + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"uGI" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"uHc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal/incinerator) +"uHl" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"uHp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/security/office) +"uIO" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"uJY" = ( +/obj/structure/chair/comfy/brown{ + color = "#596479"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"uKW" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/security/prison/upper) +"uLB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"uOm" = ( +/obj/machinery/light/small{ + dir = 1; + light_color = "#ffc1c1" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/mob/living/simple_animal/mouse/brown/Tom, +/turf/open/floor/plating, +/area/security/prison/upper) +"uOJ" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"uQR" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "O2 to Pure" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"uRd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall/syndicate, +/area/engineering/gravity_generator) +"uRS" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"uSc" = ( +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/storage/backpack/duffelbag/clown/cream_pie, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"uSC" = ( +/obj/machinery/pool/drain, +/turf/open/pool, +/area/commons/fitness/pool) +"uTe" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"uTL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"uUb" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"uVS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"uWq" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"uXt" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"uZM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/closed/wall/r_wall/syndicate, +/area/ai_monitored/turret_protected/ai_upload) +"uZY" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/security/prison/upper) +"vae" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"vbi" = ( +/obj/structure/table, +/obj/item/instrument/guitar{ + pixel_x = -7 + }, +/obj/item/instrument/eguitar{ + pixel_x = 5 + }, +/obj/item/instrument/violin, +/obj/item/instrument/trombone, +/obj/item/instrument/saxophone, +/obj/item/instrument/piano_synth, +/obj/item/instrument/recorder, +/obj/item/instrument/accordion, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"vbD" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "EVA Storage"; + req_access_txt = "18" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/command/storage/eva) +"vcN" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"vda" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plating, +/area/security/range) +"vde" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/obj/effect/landmark/start/captain, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"vdo" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"vdu" = ( +/obj/structure/table/wood, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/commons/vacant_room/office) +"veS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall/syndicate, +/area/commons/fitness/pool) +"vfX" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"vgJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/power/apc{ + areastring = "/area/maintenance/fore"; + dir = 1; + name = "Fore Maintenance APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"vhy" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"vhC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"vim" = ( +/obj/machinery/computer/arcade/battle, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"viF" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/port) +"viH" = ( +/obj/machinery/camera{ + c_tag = "Permabrig Central"; + dir = 8; + network = list("ss13","prison") + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"vmQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "holoprivacy"; + name = "Holodeck Shutters" + }, +/turf/open/floor/plating, +/area/commons/fitness) +"vnI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/power/apc{ + areastring = "/area/cargo/warehouse"; + dir = 4; + name = "Cargo Warehouse APC"; + pixel_x = 24 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"vob" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/meter, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"voT" = ( +/obj/machinery/camera{ + c_tag = "Bathrooms"; + dir = 1 + }, +/obj/structure/sink{ + pixel_y = 25 + }, +/obj/structure/mirror{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"voW" = ( +/obj/structure/pool/Lboard, +/turf/open/pool, +/area/commons/fitness/pool) +"voZ" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/medical/storage) +"vpY" = ( +/obj/structure/closet/lasertag/blue, +/obj/item/clothing/under/misc/pj/blue, +/obj/item/clothing/under/misc/pj/blue, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"vqE" = ( +/obj/structure/chair/wood/normal{ + dir = 1 + }, +/obj/machinery/light/floor, +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1480; + name = "Confessional Intercom"; + pixel_x = -25 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"vqP" = ( +/obj/structure/bed/dogbed{ + desc = "A comfy-looking pet bed. You can even strap your pet in, in case the gravity turns off."; + name = "pet bed" + }, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/fore) +"vsM" = ( +/obj/machinery/power/apc/auto_name/south, +/obj/structure/cable, +/turf/open/floor/carpet, +/area/commons/cryopod) +"vsT" = ( +/obj/structure/closet/crate, +/obj/item/book/manual/wiki/telescience, +/obj/item/book/manual/wiki/engineering_guide, +/obj/item/book/manual/wiki/engineering_construction, +/obj/item/book/manual/wiki/atmospherics, +/obj/item/book/manual/wiki/detective, +/obj/item/book/manual/wiki/tcomms, +/obj/item/book/manual/wiki/engineering_singulo_tesla, +/obj/item/book/manual/wiki/experimentor, +/obj/item/book/manual/wiki/research_and_development, +/obj/item/book/manual/wiki/robotics_cyborgs, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/medicine, +/obj/item/book/manual/wiki/medical_cloning, +/obj/item/book/manual/wiki/infections, +/obj/item/book/manual/ripley_build_and_repair, +/obj/item/book/manual/hydroponics_pod_people, +/obj/item/book/manual/wiki/toxins, +/obj/item/book/manual/wiki/grenades, +/obj/item/book{ + desc = "An undeniably handy book."; + icon_state = "bookknock"; + name = "A Simpleton's Guide to Safe-cracking with Stethoscopes" + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"vws" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"vwQ" = ( +/obj/structure/bookcase, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"vxh" = ( +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard/aft) +"vxz" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/item/storage/box/lights/mixed, +/turf/open/floor/plating, +/area/commons/storage/emergency/starboard) +"vxX" = ( +/obj/machinery/door/airlock/external{ + name = "Labor Camp Shuttle Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plating, +/area/security/processing) +"vyp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall/syndicate, +/area/commons/dorms) +"vyK" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "Secure Gate"; + name = "brig shutters" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/security/brig) +"vyP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/structure/mirror{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet/locker) +"vzp" = ( +/obj/structure/table/reinforced, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/item/stock_parts/cell/high, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"vAl" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/machinery/camera{ + c_tag = "Pool East"; + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"vCb" = ( +/obj/machinery/rnd/production/techfab/department/service, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/service) +"vCn" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"vCt" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"vCy" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/starboard/fore"; + dir = 1; + name = "Starboard Bow Maintenance APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"vCS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/execution/transfer) +"vEi" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 5; + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"vEp" = ( +/obj/structure/sign/poster/contraband/lizard{ + pixel_x = -32 + }, +/obj/structure/sign/poster/contraband/lizard{ + pixel_x = -32 + }, +/obj/structure/sign/poster/contraband/lizard{ + pixel_x = -32 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"vFr" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"vFZ" = ( +/obj/effect/spawner/lootdrop/prison_contraband, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/bed, +/obj/item/bedsheet/red, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"vGn" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Prisoner Processing"; + req_access_txt = "2" + }, +/turf/open/floor/plasteel/dark, +/area/security/processing) +"vHj" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Cryogenics " + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel, +/area/commons/cryopod) +"vHo" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/obj/machinery/door/airlock/external{ + name = "Atmospherics External Airlock"; + req_access_txt = "24" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plating, +/area/engineering/atmos) +"vHz" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 4; + light_color = "#d8b1b1" + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"vHK" = ( +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/prison/starboard) +"vHT" = ( +/obj/machinery/door/firedoor, +/obj/structure/sign/departments/evac{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/starboard) +"vHY" = ( +/turf/open/floor/plating, +/area/science/mixing) +"vIi" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/power/apc{ + areastring = "/area/security/range"; + dir = 4; + name = "Firing Range APC"; + pixel_x = 24 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/range) +"vIo" = ( +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Brig East"; + dir = 8 + }, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"vJu" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"vLo" = ( +/obj/structure/closet/secure_closet/chemical, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/fore) +"vMi" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"vOC" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 5 + }, +/turf/open/space/basic, +/area/space/nearstation) +"vOU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"vOV" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/turf/open/space, +/area/space/nearstation) +"vPd" = ( +/obj/structure/window/reinforced, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/port/fore) +"vPs" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/space, +/area/solars/starboard/aft) +"vPE" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"vPQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 10 + }, +/turf/open/floor/plating, +/area/engineering/atmos) +"vQf" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Mix to External" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"vRN" = ( +/obj/structure/closet/crate, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"vTP" = ( +/obj/machinery/door/airlock/external{ + name = "Labor Camp Shuttle Airlock"; + req_access_txt = "2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/security/processing) +"vYF" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"vYY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"vZA" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/turf/open/space, +/area/solars/starboard/aft) +"vZR" = ( +/obj/structure/chair/comfy/black{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/service/library) +"wag" = ( +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"waX" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/execution/transfer) +"wbw" = ( +/obj/structure/lattice, +/obj/structure/grille, +/turf/open/floor/plating, +/area/space/nearstation) +"wbE" = ( +/obj/effect/turf_decal/tile/blue{ + alpha = 255 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + alpha = 255; + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/medbay/lobby) +"wcB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/command/heads_quarters/captain) +"wcS" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"wdr" = ( +/obj/machinery/door/window/southleft{ + name = "Target Storage" + }, +/obj/item/target/clown, +/obj/item/target/clown, +/obj/item/target, +/obj/item/target, +/turf/open/floor/plating, +/area/security/range) +"wdv" = ( +/obj/structure/fans/tiny/invisible, +/turf/open/space/basic, +/area/space) +"weM" = ( +/obj/structure/girder, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"weW" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"wfC" = ( +/obj/structure/chair/sofa/corp/right{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"wfR" = ( +/obj/machinery/processor, +/turf/open/floor/plasteel/dark/telecomms, +/area/maintenance/bar) +"wgo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"wgu" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Permabrig Maintenance"; + req_access_txt = "1" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/prison/port) +"wig" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"wiR" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"wjd" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/table, +/obj/item/gps/mining{ + gpstag = "MINE_PUB" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/entry) +"wje" = ( +/obj/structure/rack, +/obj/item/instrument/banjo, +/obj/item/instrument/harmonica, +/obj/item/instrument/accordion, +/obj/item/instrument/recorder, +/turf/open/floor/plating, +/area/maintenance/fore) +"wkc" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"wkN" = ( +/turf/closed/wall/r_wall/syndicate, +/area/science/circuit) +"wkU" = ( +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"wlg" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"wly" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 4; + name = "4maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"wlI" = ( +/obj/machinery/holopad, +/turf/open/floor/mineral/plastitanium/red, +/area/security/office) +"wmu" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/airlock/external{ + name = "Engineering External Access"; + req_access_txt = "10;13" + }, +/turf/open/floor/plating, +/area/engineering/main) +"wnX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/freezer, +/area/security/prison/cells) +"woR" = ( +/obj/machinery/cryopod{ + dir = 1 + }, +/turf/open/floor/carpet, +/area/commons/cryopod) +"wph" = ( +/obj/docking_port/stationary{ + area_type = /area/construction/mining/aux_base; + dheight = 4; + dir = 8; + dwidth = 4; + height = 9; + id = "aux_base_zone"; + name = "aux base zone"; + roundstart_template = /datum/map_template/shuttle/aux_base/default; + width = 9 + }, +/turf/open/floor/plating, +/area/construction/mining/aux_base) +"wpV" = ( +/obj/machinery/seed_extractor, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1; + light_color = "#d1dfff" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"wql" = ( +/turf/closed/wall/r_wall/syndicate, +/area/command/gateway) +"wqF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"wqW" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard) +"wrp" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/service) +"wrX" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/structure/window, +/obj/structure/window{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/commons/locker) +"wuO" = ( +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/obj/structure/rack, +/obj/effect/spawner/lootdrop/costume, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"wvg" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Ports to Incinerator" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/atmos) +"wvX" = ( +/obj/structure/table/reinforced, +/obj/machinery/light, +/obj/item/stack/sheet/metal/ten, +/turf/open/floor/plasteel/dark, +/area/science/circuit) +"wwG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"wxf" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/holopad/secure, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/captain) +"wxk" = ( +/obj/machinery/computer/arcade, +/turf/open/floor/carpet/black, +/area/commons/arcade) +"wxT" = ( +/obj/structure/window{ + dir = 1 + }, +/obj/structure/chair/sofa/corp/left, +/turf/open/floor/carpet/black, +/area/service/bar) +"wyE" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"wAj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"wAN" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"wBd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/closed/wall/r_wall/syndicate, +/area/hallway/secondary/service) +"wCQ" = ( +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"wGc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"wHk" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"wHm" = ( +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/service/theater) +"wHT" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"wIl" = ( +/obj/structure/bed, +/obj/effect/spawner/lootdrop/bedsheet, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/prison/port) +"wII" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/maintenance, +/turf/open/floor/plasteel/dark, +/area/service/bar) +"wJA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"wKe" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "maintdiy"; + name = "Security Shutters" + }, +/turf/open/floor/plating, +/area/service/abandoned_gambling_den) +"wQg" = ( +/obj/structure/pool/ladder{ + dir = 2; + pixel_y = 24 + }, +/turf/open/pool, +/area/commons/fitness/pool) +"wTf" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"wTk" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet/locker) +"wUg" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"wUr" = ( +/turf/closed/wall/r_wall/syndicate, +/area/service/theater) +"wUY" = ( +/obj/structure/table, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/obj/item/hand_labeler, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/service) +"wVq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/grunge{ + name = "Prison Workshop"; + wiretypepath = /datum/wires/airlock/security + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"wVt" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"wVN" = ( +/obj/structure/falsewall, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"wWi" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engineering/atmos) +"wWT" = ( +/obj/effect/landmark/start/roboticist, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"wWW" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/toy/poolnoodle/yellow, +/obj/machinery/button/door{ + id = "PoolShut"; + name = "Pool Shutters"; + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"wXl" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/machinery/camera{ + c_tag = "Pool West"; + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"wYc" = ( +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"wYn" = ( +/obj/structure/plasticflaps/opaque, +/obj/structure/sign/poster/contraband/free_drone{ + pixel_y = 32 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"wZI" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"xal" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/preopen{ + id = "Secure Gate"; + name = "brig shutters" + }, +/turf/open/floor/plating, +/area/security/brig) +"xaB" = ( +/obj/structure/closet/athletic_mixed, +/obj/item/toy/poolnoodle/red, +/obj/item/toy/poolnoodle/blue, +/obj/item/toy/poolnoodle/yellow, +/obj/machinery/button/door{ + id = "PoolShut"; + name = "Pool Shutters"; + pixel_y = 24 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"xbi" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"xbn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/structure/table, +/obj/item/coin/gold, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"xbP" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"xcl" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 6 + }, +/turf/open/space, +/area/space/nearstation) +"xcz" = ( +/obj/machinery/hydroponics/soil{ + pixel_y = 8 + }, +/obj/item/seeds/onion, +/obj/structure/sign/poster/contraband/ambrosia_vulgaris{ + pixel_x = 32 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"xfW" = ( +/obj/machinery/vr_sleeper{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"xgk" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"xgs" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/maintenance/starboard/aft) +"xgC" = ( +/obj/machinery/power/apc{ + areastring = "/area/engineering/gravity_generator"; + dir = 8; + name = "Gravity Generator APC"; + pixel_x = -25; + pixel_y = 1 + }, +/obj/structure/table, +/obj/item/paper/guides/jobs/engi/gravity_gen, +/obj/item/pen/blue, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"xhS" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"xhV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/construction) +"xib" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "Prison Gate"; + name = "prison blast door" + }, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Prison Gate"; + name = "Prison Lockdown Shutters" + }, +/turf/open/floor/plating, +/area/security/prison/upper) +"xiw" = ( +/obj/machinery/door/airlock{ + name = "Service Hall"; + req_one_access_txt = "25;26;35;28" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/hallway/secondary/service) +"xjU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + name = "Prison Visitation"; + wiretypepath = /datum/wires/airlock/security + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"xkd" = ( +/obj/machinery/light/small{ + dir = 4; + light_color = "#d8b1b1" + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"xkk" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/sign/warning/securearea{ + pixel_x = -32; + pixel_y = 32 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Prison Gate"; + name = "Prison Lockdown Shutters" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/range) +"xlX" = ( +/obj/structure/table/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "commissaryshutters"; + name = "Vacant Commissary Shutters" + }, +/turf/open/floor/plasteel, +/area/commons/locker) +"xmS" = ( +/obj/structure/chair/comfy/beige{ + dir = 8 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/grimy, +/area/hallway/secondary/entry) +"xnm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"xnF" = ( +/obj/machinery/door/airlock/security{ + name = "Isolation Cell"; + req_access_txt = "2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plasteel/dark, +/area/security/execution/transfer) +"xpH" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"xqG" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/starkist{ + pixel_x = -3; + pixel_y = 5 + }, +/turf/open/floor/carpet/black, +/area/service/bar) +"xrN" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"xtP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"xud" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/disposal/incinerator) +"xuu" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "Prison Gate"; + name = "Prison Lockdown Shutters" + }, +/turf/open/floor/plating, +/area/security/brig) +"xwB" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/commons/arcade) +"xxi" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"xxp" = ( +/turf/open/floor/plating, +/area/security/range) +"xzd" = ( +/obj/effect/spawner/lootdrop/maintenance, +/obj/structure/closet, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"xzv" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"xAk" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"xAv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/commons/dorms) +"xAA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"xBk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 23 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet) +"xBw" = ( +/obj/structure/closet/wardrobe/cargotech, +/obj/item/radio/headset/headset_cargo, +/turf/open/floor/plasteel/dark, +/area/cargo/storage) +"xBJ" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"xDM" = ( +/obj/machinery/camera{ + c_tag = "Locker Room South"; + dir = 8 + }, +/obj/structure/closet/secure_closet/personal, +/turf/open/floor/plasteel/dark, +/area/commons/locker) +"xEB" = ( +/obj/effect/turf_decal/bot_white/right, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"xEE" = ( +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/obj/machinery/vending/wardrobe/curator_wardrobe, +/turf/open/floor/carpet/black, +/area/service/library) +"xES" = ( +/obj/structure/table/glass, +/obj/item/storage/fancy/candle_box{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/storage/fancy/candle_box{ + pixel_x = 1; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"xFj" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"xFM" = ( +/obj/item/clothing/gloves/color/rainbow, +/obj/item/clothing/head/soft/rainbow, +/obj/item/clothing/shoes/sneakers/rainbow, +/obj/item/clothing/under/color/rainbow, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"xGm" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"xGQ" = ( +/obj/structure/sign/plaques/golden{ + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"xJC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/closed/wall/r_wall/syndicate, +/area/maintenance/disposal/incinerator) +"xJW" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Security Maintenance"; + req_access_txt = "1" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/security/office) +"xKl" = ( +/obj/machinery/computer/security/telescreen/prison{ + pixel_y = 30 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/prison) +"xLQ" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/security/prison/upper"; + damage_deflection = 21; + desc = "A control terminal for the area's electrical systems. It's secured with a durable antitampering plasteel cage."; + dir = 1; + name = "Armored Upper Prison Wing APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"xLX" = ( +/obj/structure/lattice/catwalk, +/obj/item/stack/marker_beacon{ + anchored = 1; + icon_state = "markerburgundy-on"; + light_color = "#FA644B"; + light_power = 3; + light_range = 3; + name = "Docking Beacon"; + picked_color = "Burgundy" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"xMg" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"xMS" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/cafeteria, +/area/security/prison/upper) +"xNV" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/cells) +"xOx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/flasher{ + id = "visitorflash"; + pixel_x = 16; + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"xPk" = ( +/obj/structure/bed, +/obj/machinery/button/door{ + id = "Dorm6"; + name = "Cabin Bolt Control"; + normaldoorcontrol = 1; + pixel_y = -25; + specialfunctions = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/effect/spawner/lootdrop/bedsheet, +/turf/open/floor/carpet/black, +/area/commons/dorms) +"xRa" = ( +/obj/item/kirbyplants{ + icon_state = "plant-20" + }, +/turf/open/floor/plasteel/dark, +/area/service/chapel/main) +"xSW" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"xTe" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/mineral/plastitanium/red, +/area/ai_monitored/security/armory) +"xTy" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/engineering/gravity_generator) +"xUe" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/prison) +"xUn" = ( +/obj/effect/landmark/carpspawn, +/turf/open/space, +/area/space/station_ruins) +"xUL" = ( +/obj/effect/turf_decal/bot_white/right, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/gateway) +"xUX" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/rack, +/obj/item/storage/box/zipties{ + pixel_x = -1; + pixel_y = 1 + }, +/obj/item/storage/box/zipties{ + pixel_x = 1; + pixel_y = -1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/security/brig) +"xVZ" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/solars/port/fore) +"xWq" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/security/processing) +"xWs" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/aft) +"xWS" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/security/prison/upper) +"xXi" = ( +/obj/machinery/vending/clothing, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"xYf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"xZD" = ( +/obj/structure/closet/lasertag/red, +/obj/item/clothing/under/misc/pj/red, +/obj/item/clothing/under/misc/pj/red, +/turf/open/floor/plasteel/dark, +/area/commons/fitness) +"xZL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/commons/fitness/pool) +"yan" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/disposal/incinerator) +"yaW" = ( +/obj/machinery/hydroponics/soil{ + pixel_y = 8 + }, +/obj/item/seeds/ambrosia, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ybb" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/prison/upper) +"ycd" = ( +/obj/structure/toilet/secret/low_loot{ + dir = 4 + }, +/obj/structure/mirror{ + pixel_y = 32 + }, +/obj/structure/sink{ + pixel_y = 25 + }, +/obj/machinery/button/door{ + id = "LockerShitter2"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 14; + pixel_y = 38; + specialfunctions = 4 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel/freezer, +/area/commons/toilet/locker) +"yco" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/security/prison/cells) +"ycL" = ( +/obj/effect/spawner/lootdrop/prison_contraband, +/obj/structure/closet/crate, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) +"ycY" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1; + light_color = "#d1dfff" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/fore) +"yds" = ( +/obj/structure/table/reinforced, +/obj/item/electropack, +/turf/open/floor/plasteel/dark, +/area/maintenance/port/fore) +"ydD" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/suit_storage_unit/rd, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"ydM" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"yeA" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/r_wall/syndicate, +/area/hallway/primary/central) +"yeZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall/syndicate, +/area/security/execution/transfer) +"yfX" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/carpet/black, +/area/commons/arcade) +"ygb" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) +"yhx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall/syndicate, +/area/security/brig) +"yhz" = ( +/obj/machinery/vending/coffee, +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"yhI" = ( +/obj/machinery/computer/arcade/battle, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/security/prison/upper) + +(1,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(2,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(3,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(4,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(5,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(6,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(7,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(8,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(9,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(10,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(11,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(12,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(13,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(14,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(15,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(16,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(17,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(18,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(19,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(20,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(21,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(22,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(23,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(24,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +xLX +aaa +aaa +aaa +xLX +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gDl +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(25,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +xLX +aaa +xLX +aaa +aaa +aaa +gXs +aaa +aaa +aaa +gXs +aaa +aaa +aaa +xLX +aaa +xLX +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(26,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +gXs +aaa +aaa +gXs +gJi +gXs +gXs +gXs +gJi +gXs +aaa +aaa +gXs +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(27,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gJi +gJi +gXs +aag +gJi +gXs +gXs +aaa +aaa +aaa +aaa +aaa +gXs +gXs +gJi +gJi +gXs +aag +gJi +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gDl +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(28,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gIU +shR +aaa +shR +hse +gXs +aoV +aaa +aaa +aaa +aaa +aaa +aaa +gXs +gIU +shR +aaa +shR +hse +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(29,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bvG +aaa +cpe +aaa +oyN +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bvG +aaa +cwV +aaa +oyN +aaa +aaa +aaa +aaa +aaa +aaa +aaa +rZQ +aaa +aaa +aoV +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(30,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aae +aaa +gXs +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaf +awW +kiY +awW +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 +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(31,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaf +awW +auP +awW +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 +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(32,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +arB +awW +qtw +awW +arB +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(33,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaa +aaa +aaa +aaa +aaa +gXs +aaa +cqq +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +cqq +aaa +gXs +aaa +aaa +aaa +aaa +aaa +arB +tHy +aNi +sJw +arB +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 +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(34,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaf +aaf +aaf +aaa +aaa +arB +arB +cyb +arB +arB +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +arB +arB +cyb +arB +arB +aaa +aaa +aaa +aaa +aaa +awW +lBd +aNi +rsp +awW +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 +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(35,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +apJ +apJ +apJ +apJ +apJ +apJ +apJ +apJ +apJ +apJ +apJ +auO +auP +cwT +aAC +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aAC +auO +auP +cxY +arB +aaa +aaa +aaa +aaa +aaa +awW +lBd +aNi +wjd +awW +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 +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(36,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +apJ +apN +apN +apN +apN +apN +apN +apN +apN +apN +apJ +avP +iEJ +arB +arB +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +arB +arB +iEJ +avP +arB +aaa +aaa +aaa +aaa +aaa +arB +mqo +ayn +pFY +aAC +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 +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(37,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +apJ +apN +apN +apN +apN +apN +apN +apN +apN +apN +apJ +fpI +ayk +awW +aAD +awW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +awW +awW +awW +aQG +aRX +arB +aaa +aaa +aaa +aaa +aaa +arB +iWK +ayk +awW +aAD +awW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(38,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +apJ +apN +apN +apN +apN +apN +apN +apN +apN +apN +apJ +aFG +ayl +azy +auP +cIh +aaa +aaa +aaa +aaa +aaa +aaa +aaa +azy +auP +cIh +ayl +aRY +awW +aaa +aaa +aaa +aaa +aaa +awW +aFG +aNi +beK +auP +cyu +cyd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(39,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +apJ +apN +apN +apN +apN +apN +apN +apN +apN +apN +apJ +aFG +ayk +awW +awW +awW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +awW +awW +awW +awV +aRY +awW +aaa +aaa +aaa +aaa +aaa +awW +aFG +ayk +awW +awW +awW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(40,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +apJ +apN +apN +apN +apN +wph +apN +apN +apN +apN +apJ +aFG +cqr +azz +aAF +awW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +awW +aOf +azz +aPu +aRY +awW +aaa +aaa +aaa +aaa +aaa +awW +aFG +aym +azz +wgo +awW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(41,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +apJ +apN +apN +apN +apN +apN +apN +apN +apN +apN +apJ +aFG +aIK +aNi +rla +awW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +awW +aOe +aNi +aNi +aRY +awW +aaa +aaa +aaa +aaa +aaa +awW +aFG +aNi +aNi +aAE +awW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(42,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +apJ +apN +apN +apN +apN +apN +apN +apN +apN +apN +apJ +aFG +aIK +aNi +aAH +awW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +awW +aOh +aNi +jHh +aRY +awW +aaa +aaa +aaa +aaa +aaa +awW +aFG +aNi +aNi +bgi +awW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(43,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +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 +apJ +apN +apN +apN +apN +apN +apN +apN +apN +apN +apJ +aFG +cry +azA +aAG +awW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +awW +aOg +azA +aQH +aRY +awW +aaa +aaa +aaa +aaa +aaa +awW +aFG +ayn +azA +bgh +awW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(44,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +apJ +apN +apN +apN +apN +lCi +apN +apN +apN +apN +apJ +aFG +crz +awW +awW +awW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +awW +awW +awW +awV +aRY +awW +aaa +aaa +aaa +aaa +aaa +awW +aFG +ayk +awW +awW +awW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(45,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +apJ +apJ +apJ +ajZ +asF +atp +asF +asF +asF +asF +apJ +axh +cbh +azy +auP +cIh +aaa +aaa +aaa +aaa +aaa +aaa +aaa +azy +auP +cIh +ayl +aRY +awW +aaa +aaa +cxE +aaa +aaa +awW +aFG +aNi +beL +auP +cyu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(46,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +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 +apJ +asH +atI +atI +arE +ayq +ayq +auc +avp +axI +ayp +awW +aAD +awW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +awW +awW +awW +aQG +aRX +arB +aaa +aWa +aXI +awW +aaa +arB +awY +ayk +awW +aAD +awW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(47,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +asF +asI +auQ +auQ +auQ +auQ +aCX +aub +aLu +axH +ayo +azB +awW +aaa +aaa +aaa +aaa +cIg +aaa +aaa +aaa +aaa +awW +aPt +aPu +aRY +arB +awW +awW +auP +awW +awW +arB +aFG +aym +fOI +awW +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 +aaa +aaa +aaa +aaa +aae +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(48,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +apJ +asJ +cTE +avQ +axc +aCT +atb +aIH +apJ +clB +aIK +azC +arB +arB +arB +awW +awW +awW +awW +awW +arB +arB +arB +aPv +aNi +aNi +arB +aAF +awW +cyl +awW +baF +arB +bbb +aNi +beN +arB +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 +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(49,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +apJ +apJ +apJ +apJ +apJ +apJ +apJ +apJ +apJ +axG +aIK +aym +aAI +aBH +azz +azz +azz +azz +azz +azz +aLv +aBH +azz +aPu +aNi +aNi +aNh +aym +azz +aNi +azz +aPu +aNi +aIK +aNi +beM +aAC +aaf +aoV +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(50,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaf +aaf +qlV +avS +atJ +amC +amC +aKf +bEJ +axb +ayr +azD +aAJ +azD +aCp +aEz +aFG +aHu +aNi +aNi +aNi +aNb +aNi +aNi +aNi +aNi +aTr +aUM +aNi +aNi +aWc +baG +aNi +aIK +aNi +beM +arB +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(51,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aag +qlV +qlV +qlV +qlV +rGo +amC +aKY +aoW +asK +qlV +qlV +atO +qlV +qlV +aBI +aBI +aBI +aBI +aBI +aNh +aKj +aLw +aLw +aLw +aLw +aQI +aNh +czK +czK +czK +czK +aXX +czK +czK +bbc +beO +beO +beO +beO +beO +beO +beO +beO +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(52,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aag +arN +amC +amC +auX +arM +ase +ase +avq +aum +avq +avq +cwH +avq +aAj +aBK +aCL +aEG +aFI +aBI +aIM +aKk +aLy +aNd +aOj +aPx +aQJ +aNi +czK +aUO +aUy +aWm +aXZ +vdu +czK +bhN +bcl +beQ +pLn +bhI +bjb +bkz +blS +bnv +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(53,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gJi +qlV +qlV +qlV +qlV +aqO +qlV +qlV +kwY +qll +aue +aue +ayy +ayy +aAe +aBJ +aCs +aEE +aFH +aGZ +aIJ +aJX +aLi +aMO +aNR +aOY +aQl +bcD +aTs +aUN +baH +aWi +aXY +baH +aTs +bbd +beO +beP +bgj +beO +bja +beO +bja +bja +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(54,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +qlV +atM +atW +qlV +aqO +qlV +aon +atq +aCW +gLH +qlV +hho +aKY +auT +aBI +aCY +aEI +aFK +aHy +aIM +aKk +aLz +aNe +aNe +aLz +aQo +aSb +czK +aUQ +aUA +aWr +aXZ +aUQ +czK +bbe +beO +beS +bgj +bhJ +bjd +bkB +cAI +bja +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aae +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaS +aaS +aaS +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(55,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +qlV +qlV +atP +auV +qlV +aqO +qlV +axe +atq +avb +avb +qlV +pvJ +mwS +auT +aBI +aDc +aEH +bxM +aHa +aIL +aJY +aLj +aMP +aMP +aPa +aQn +aNi +czK +aUO +aUO +aUO +aXZ +aUO +czK +bbe +beO +beR +bgj +bgj +bjc +cAF +cAF +bja +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaa +aaf +aaa +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(56,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aba +aaS +aaS +gXs +gXs +gXs +eRz +eRz +eRz +aaf +aaf +aaT +aaf +aaf +qlV +arO +amC +aom +ank +aqO +qlV +axf +ayu +avb +avb +qlV +gJN +amC +auT +aBI +aDf +aEK +aFM +aHy +aNi +aKk +aLA +xmS +aNf +aLA +aQD +aSd +czK +aUQ +aUW +aUO +aXZ +baJ +czK +bbe +beO +beU +bgk +bhL +bjc +cAF +blV +beO +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaf +chJ +aaf +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(57,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +abY +aaa +aaf +aaa +aaf +aaa +aaf +aaa +acy +aaa +aaf +aaa +dLl +aaa +aaS +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +qlV +ash +atU +aoR +apO +aqO +qlV +axg +atq +avb +rJw +qlV +cGf +aKY +aAw +aBl +aCZ +aEJ +aFL +aBI +aIO +aKk +arB +arB +arB +arB +aQD +aNi +czK +aUl +aUR +aWs +aXZ +aUQ +czK +bbf +beT +beT +bdQ +beZ +bje +bkC +cAJ +beO +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaS +aaS +aaS +aaS +aaf +aaf +aaa +chI +aaa +aaf +aaf +aaS +aaS +aba +aaS +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(58,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +abY +aaa +acW +eTt +adA +aaa +acW +eTt +adA +aaa +acW +eTt +adA +aaa +aaS +gXs +gXs +gXs +gXs +eRz +eRz +aaf +aaf +aaT +aaT +aaf +qlV +atn +amC +aoT +auY +aqO +qlV +avb +atq +ava +gKo +qlV +amC +azF +azF +azF +azF +azF +azF +azF +aIQ +aKk +aLC +aNg +aOk +aPy +aRd +aRM +aTt +aUm +aUm +aWt +aYd +aZn +aTt +bbg +bdG +bdu +bdT +beO +bjf +beO +beO +beO +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aae +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaa +aaa +aaf +aaa +aaf +aaa +aaa +chI +aaa +aaa +aaf +aaa +aaf +aaa +aaa +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(59,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aae +aaa +aaa +abY +aaf +acW +hcT +adA +aaa +acW +hcT +adA +aaa +acW +hcT +adA +aaf +aaf +aaa +aaa +aaa +gXs +aaa +ktS +aaa +aaa +gXs +aaa +aaa +qlV +qlV +qlV +qlV +auY +aqO +qlV +qlV +tsq +qlV +qlV +qlV +amC +azF +aAP +aAP +aAP +aEF +aFN +azF +aIP +aKl +aLB +aLB +aLB +aLB +aQK +aSe +czK +aUQ +aUQ +aXN +aUO +aUQ +czK +bcI +aPz +bdt +bdR +aSg +aYf +bkD +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaf +cca +cca +cca +cca +cca +aaa +chK +aaa +cca +cca +cca +cca +cca +aaf +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aae +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(60,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +abY +aaa +acW +hcT +adA +aaf +acW +hcT +adA +aaf +acW +hcT +adA +aaa +aaf +aaa +aaa +aaa +gXs +aaa +ktS +aaa +aaa +gXs +aaa +aaa +gXs +ali +aok +aKY +anJ +asc +aol +aol +atr +atN +atN +atN +ayi +azq +aAK +aBv +aDa +aAQ +aAQ +azF +aIR +aNi +aNi +aNi +aNi +aNi +aNi +aSf +czK +czK +czK +czK +czK +czK +czK +aPz +aPz +bdB +aWv +aTu +bjg +bkD +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaa +ccc +ccX +ccX +ccX +ccX +cgz +chL +ciP +cjH +cjH +cjH +cjH +cnl +aaa +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(61,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +acW +hcT +adA +aaa +acW +hcT +adA +aaa +acW +hcT +adA +aaf +aaf +gXs +gXs +gXs +gXs +gXs +gXs +aaf +aaf +aaf +aaf +aaa +gXs +ali +aok +amC +anJ +asi +arH +cCs +ann +ann +hCn +cwS +ayh +azi +aAx +aBm +aAQ +aAQ +aAQ +azF +azF +azF +aLD +aNh +aNh +aPz +aPz +aPz +aPz +hmT +aWj +aXP +aZr +baL +bbI +bcK +aPz +bdB +aWv +bfh +aPz +aPz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaS +aaf +ccb +ccb +ccb +ccb +ccb +aaa +chL +aaa +ccb +ccb +ccb +ccb +ccb +aaf +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(62,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaS +aaS +aaS +aaf +aaa +acW +hcT +adA +aaa +acW +hcT +adA +aaa +acW +hcT +adA +aaa +aaf +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +ajV +alR +alR +alR +alR +apL +pkq +wlg +aqP +qlV +qlV +qlV +qlV +qlV +juy +asK +azF +aAT +aBw +aDg +aAQ +aAQ +aHz +aIS +aKn +aLF +aLF +aLF +aPz +aQL +aSg +aSg +aSg +aWl +aSg +aZs +baN +bbK +bcM +bdH +bdD +bea +bfq +bji +aPz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaS +aaa +aaa +aaa +aaf +aaa +aaa +aaa +chL +aaa +aaa +aaa +aaf +aaa +aaa +aaa +aba +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(63,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaS +aaa +aaf +aaa +aaa +aaa +rwA +aaa +aaa +aaa +rwA +aaa +aaa +aaa +rwA +aaa +aaa +aaf +aaa +aaa +aaa +gXs +aaa +ajV +ajV +ajV +ajV +alQ +amy +ang +alR +aoj +kuL +anJ +tXs +qlV +bOi +avb +avb +asO +qlV +asK +azF +aAS +aFP +aAQ +aAQ +aAQ +aAQ +aAQ +aKm +aLE +aNj +aLE +aPz +aPz +aPz +aTu +aUS +aWk +aWk +aWk +baM +bbJ +bcL +aWk +bdC +bdZ +bhO +bjh +bkE +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaS +aaf +cca +cca +cca +cca +cca +aaa +chL +aaa +cca +cca +cca +cca +cca +aaf +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(64,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaS +aaf +rYM +qhA +qhA +hSf +ady +ady +ady +ady +ady +ady +ady +ady +ady +cfK +uDO +uDO +uDO +uDO +uDO +uDO +uDO +ajq +akB +akB +alh +alT +amA +ani +anI +aol +jUV +arI +atL +qlV +axl +avb +avb +bOi +qlV +asK +azF +aAU +aBG +aAQ +aAQ +aAQ +aAQ +aAQ +aKn +aLE +aNl +aOm +aPB +aQM +aQM +aTv +aUT +aPz +aPA +hNm +aPA +aPA +aXQ +aXQ +aXQ +aXQ +bhQ +bjj +aPz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaS +aaa +ccc +ccX +ccX +ccX +ccX +cgz +chL +ciP +cjH +cjH +cjH +cjH +cnl +aaa +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(65,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaS +aaa +aaf +aaa +aaa +aaa +xVZ +aaa +aaa +aaa +xVZ +aaa +aaa +aaa +xVZ +aaa +aaa +aaf +aaa +aaa +aaa +gXs +aaa +ajV +ajV +ajV +ajV +alS +amz +anh +anH +oCF +amC +anJ +wiR +qlV +avV +avb +avb +avV +qlV +thg +azF +aAP +aAP +aAP +aAQ +aFO +aHA +aIT +azF +aLG +aNk +aOl +aPA +aPA +aPA +aPA +aPA +aPA +got +pNS +sMI +kic +aXQ +aZt +aXQ +ycd +bhQ +bjj +aPz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaS +acy +ccb +ccb +ccb +ccb +ccb +aaa +chL +aaa +ccb +ccb +ccb +ccb +ccb +aaf +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(66,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaS +aba +aaS +aaf +aaa +acW +pry +adA +aaa +acW +pry +adA +aaa +acW +pry +adA +aaa +aaf +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +ajV +alR +alR +alR +alR +qlV +qlV +arJ +qlV +qlV +ays +avb +bsU +tVE +qlV +asK +azF +azF +azF +azF +aEL +azF +azF +azF +azF +aLE +aNm +aOl +aPA +aQO +aSh +aTw +aUU +aPA +aPA +sVt +pNS +qAu +aXQ +aZv +aXQ +bbL +bhQ +bjj +aPz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aba +aaa +aaa +aaa +aaf +aaa +aaa +aaa +chL +aaa +aaa +aaa +aaf +aaa +aaa +aaa +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(67,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +acW +pry +adA +aaa +acW +pry +adA +aaa +acW +pry +adA +aaf +aaf +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +qlV +amF +alF +aoS +apM +enS +aoU +amC +qlV +ayt +avb +pVi +avV +qlV +ayw +atN +aAV +aBQ +aDh +aDo +aFQ +aHe +aIN +aKp +aLE +aNm +aOl +aPA +aQN +aQN +aQN +aQN +aWn +aPA +uTL +wwG +fBW +aWy +mmx +tVB +wTk +bhQ +bjk +bkE +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaS +aaf +cca +cca +cca +cca +cca +aaa +chL +aaa +cca +cca +cca +cca +cca +aaf +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(68,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaa +acW +pry +adA +aaf +acW +pry +adA +aaf +acW +pry +adA +aaa +aaf +gXs +gXs +gXs +gXs +gXs +gXs +aaf +aaf +aaf +qlV +amF +aoU +amC +qlV +apP +amC +amC +qlV +qlV +qlV +cyC +qlV +pRj +cwS +cwS +aAN +aBL +aDd +aDd +aFR +aDd +aDd +aJZ +aLk +aNo +aOo +aPA +aQS +aQN +aSV +aYU +smN +aPA +mqH +xlX +aPA +aXQ +ddl +vyP +rxD +bhQ +bjk +aPz +aaa +aaa +aaa +aaa +aaa +aaa +cyT +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aoV +bZm +aoV +aoV +aoV +aaa +aaS +aaa +ccc +ccX +ccX +ccX +ccX +cgz +chL +ciP +cjH +cjH +cjH +cjH +cnl +aaa +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(69,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaf +acW +pry +adA +aaa +acW +pry +adA +aaa +acW +pry +adA +aaf +aba +aaa +aaa +aaa +aaa +aaa +aaa +quT +aaa +aaa +qlV +qlV +qlV +ank +qlV +amC +amC +amC +amC +qlV +nXg +pVi +qlV +rYa +amC +sRd +aAL +aBQ +aDb +aDo +aFY +aDo +aDo +aKp +aLE +aLE +aOn +aPA +aQP +aQN +aTB +aQN +aWq +aQN +aWq +aUt +aQN +aXQ +qki +aXQ +aXQ +bhQ +bjk +aPz +aaa +aaa +boI +bqi +brJ +boI +brJ +bvS +boI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aoV +bVz +aaf +aaf +aoV +aaa +aaS +aaf +ccb +ccb +ccb +ccb +ccb +aaa +qJr +aaa +ccb +ccb +ccb +ccb +ccb +aaf +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(70,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaa +acW +rGZ +adA +aaa +acW +rGZ +adA +aaa +acW +rGZ +adA +aaa +aaS +aaa +aaa +aaa +aaa +aaa +aaa +eRz +aaa +aaa +qlV +lLA +mzT +aKY +qlV +amC +amC +amC +amC +qlV +qlV +sVD +qlV +fhu +amC +amC +aAY +aBQ +aDl +bxk +aDo +aDo +aIX +aNW +aLE +aLE +aOp +uwN +aQR +aQN +aQN +aQN +aWq +aQN +aWq +aUt +aQN +fRe +qSo +aPA +hmT +bhS +bjk +aPz +aaa +aaa +blW +bqj +brK +blW +brK +bvT +blW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aag +bVz +aag +aag +aoV +aaa +aaS +aaa +aaa +aaf +aaa +aaf +aaa +aaf +hrF +aaf +aaa +aaf +aaa +aaf +aaa +aaa +aaS +aaa +aaa +aaa +aaa +aaa +aaa +gDl +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(71,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +naI +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaa +aaf +aaa +aaf +aaa +aaf +aaa +aaf +aaa +aaf +aaa +aaf +aaa +aaS +gXs +gXs +gXs +gXs +quT +eRz +aaT +aaf +aaf +qlV +jNr +gZB +amC +ank +amC +amC +amC +amC +amC +amC +noL +arH +psf +arK +amC +klN +aBQ +aDk +aDo +aDo +aDo +aIW +aBQ +aLE +aLE +aOl +aPC +aQN +aQN +aTz +aXr +lZa +fFl +wrX +aUo +aYU +ihS +owx +aPA +bgt +bhR +bjk +aZE +blW +blW +blW +bqi +cyD +aZE +cyD +bvS +blW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gJi +aaa +aaf +bVz +aoV +aag +aoV +aaa +aaS +aaS +aaS +aaf +aaf +aaf +aaf +cfx +tEK +cfx +aaf +aaf +aaf +aaf +aaS +aaS +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(72,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +gXs +gXs +gXs +gXs +gXs +aaS +aaS +aaS +aaS +aaS +aba +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +qlV +enJ +enJ +arL +qlV +qjo +qlV +qlV +qlV +qlV +qlV +qlV +qlV +cPO +amC +avW +gYo +aBQ +aDn +aDo +aDo +aHD +aIZ +aBQ +aLE +aLE +aOq +aPD +aQT +aQN +aTC +dyC +aUY +aXv +aYS +aUt +aQN +rbH +bbO +aPA +aSg +bhT +bjk +aZE +blY +bjr +boJ +bql +bnw +btr +bnw +bvV +blW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gJi +aaa +aaf +bVz +aaf +aag +aoV +aaa +aaa +aaf +aaa +aaa +aaf +aaa +aaa +cfx +chN +cfx +aaa +aaf +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 +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(73,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +qlV +rwj +nPr +amC +qlV +qlV +qlV +avX +amC +arK +amC +amC +jFB +ppw +enJ +amC +iII +aBQ +aDm +aDo +aDo +aDo +aIY +gCC +aLE +aLE +aOl +aJR +pqs +aQN +aTC +dyC +mTG +aXt +ijG +aUt +aQN +aPA +aPA +aPA +bel +bfI +bgq +bhY +bkj +bqm +bqm +bps +bjr +bjr +buB +bvU +aZE +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaf +aaa +aaa +aag +aaa +bVx +caf +aoV +aag +aaf +gXs +gXs +aaf +aaa +aaa +aaf +aaa +aaa +cfx +chN +cfx +aaa +aaa +aaf +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 +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(74,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +ali +fDn +gFs +aKY +qlV +xFM +qlV +gLG +raH +jon +atU +amC +uBf +amC +aKY +amC +aAY +aBQ +aDp +aDo +aFU +aDo +aJb +aKp +aLE +aLE +aOl +aPE +aQV +aQN +aTC +aXv +gxc +aXt +ijG +aUt +aQN +aZB +aPA +bfc +bew +bfM +bjl +bkG +bkp +bmj +bjt +cCo +bjt +bjt +biq +bvV +blW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bCq +bCq +bCq +bLv +bCq +aoV +cbj +bLv +cDY +bLv +aaf +bCq +bCq +bCq +bCq +bCq +bCq +cfx +cfx +cyK +cfx +cfx +aaa +aaa +aaf +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 +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(75,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +gXs +gXs +gXs +gXs +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +quT +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +qlV +qlV +alU +ank +qlV +qlV +qlV +qlV +jbr +qlV +qlV +amC +ntt +axk +jbp +ayy +aAO +aBN +aDe +fZR +aFT +aDe +aIU +aKa +aLH +aLE +aOl +aPA +aiB +aQN +nLw +pnc +oyl +aXw +qfk +aUt +aQN +aZA +aPA +jxF +aYb +aZE +aZE +aZE +bkn +bmh +bjr +bmb +bjr +bjr +buC +bvV +blW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bCq +ajD +bCq +bSn +bCq +bCq +cbj +bLv +bHE +bLv +aaf +bCq +cAy +cAB +ajG +cAD +cAH +cfw +cgA +chP +ciQ +cfw +aaa +aaa +gXs +aaf +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 +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(76,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +eRz +eRz +eRz +quT +gXs +aaa +aaa +aaa +aaa +eRz +aaa +aaa +aaa +quT +aaa +aaa +aaa +aaa +aaa +aaa +ali +aok +qZD +anK +geg +qlV +pqR +kqo +hnc +qlV +amC +ntt +aAY +amC +aoX +atJ +aBQ +aDq +aLM +aFZ +aHE +aJc +aKs +aLK +aLK +aOr +aPA +aQX +aQN +aSi +aTy +aWp +aTy +aTy +aUv +aTy +bbs +bcw +bfd +bgw +aZE +bjn +bjr +bkt +bmh +boK +bpz +boK +bjr +bkt +bvV +blW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bCq +bHE +bJP +bHE +bJP +bCq +cbk +bLv +bHE +bLv +aaf +bCq +cAA +bHE +bHE +ccZ +cAK +cfw +cgC +chR +ciS +cfw +aag +aag +aag +aaa +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(77,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +eRz +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +eRz +aaa +aaa +aaa +eRz +aaa +aaa +aaa +aaa +aaa +aaa +ali +aok +amC +aKY +cDs +qlV +fmJ +ygb +kiW +qlV +amC +ntt +nBI +qlV +qlV +qlV +aBQ +aBQ +aBR +aBQ +aBQ +aBQ +aBQ +aLm +aLF +viF +aPA +vJu +aQN +aTD +ocv +aUZ +aYU +aYU +aYU +aYU +aYU +bcu +bfe +aYb +aZE +bjm +bjr +bjr +bmh +boK +bjr +boK +bjr +bjr +bvV +bxu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bCq +bHE +bHE +bHE +bHE +bCq +bVy +bLv +cyE +bLv +bLv +bCq +bHE +cAC +ccZ +cAE +ceV +cfw +cgB +chQ +ciR +cfw +bCq +cDY +bCq +aaa +aaa +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(78,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +gXs +gXs +gXs +aaa +gXs +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +eRz +aaa +aaa +aaa +gXs +gXs +gXs +gXs +gXs +eRz +gXs +gXs +gXs +ali +ali +qlV +qlV +ali +qlV +qlV +qlV +rGo +amC +amC +amC +lZN +cPb +ygb +cPb +lZN +amC +jIW +nBI +eky +mau +eAe +wUr +aHI +aLP +bwb +qTG +bwb +aKw +aLE +aLE +aOl +aPG +aPG +aPG +aPG +aPG +lip +aQW +aQW +aQW +aQW +xDM +aPA +aWv +aYb +aZE +bjp +bjr +bjr +bmh +boK +bjr +cBp +bjr +buB +bvV +bxu +bxu +bxx +bxu +bxu +bDi +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bCq +bHE +bPW +bHE +bHE +bCq +bVB +bHE +bHE +bYu +bZk +bCq +cTF +bCq +bCq +bCq +bCq +cfw +cgE +chS +cfw +cfw +bCq +bHE +bCq +aaa +aaa +aaa +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(79,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +eRz +eRz +eRz +eRz +eRz +eRz +eRz +eRz +eRz +eRz +eRz +aaa +aaa +aaa +quT +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +wbw +aaa +aaa +aaa +ali +avb +avb +tZu +gsM +eDz +yds +qlV +amC +amC +amC +htu +qlV +edj +ygb +gKG +qlV +amC +ntt +ugq +kkK +jBZ +aHI +wUr +aHI +fOA +aHI +aHI +aHI +aKw +aLE +bDe +aOl +aPF +aQY +aSk +aTE +aPG +aPA +aPA +aPA +aPA +aPA +aPA +aPA +aWv +aYb +aZE +bjo +bjr +bjr +bmh +boK +bjr +boK +bjr +bjr +bub +bxu +bvF +bzP +bAS +bxu +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bCq +bHE +bHE +bSo +bHE +bCq +bVA +bWw +bXw +bYt +bZj +bCq +bHE +bCq +bSq +cdW +ceW +bCq +cgD +bUs +bHE +cjI +bCq +clA +bCq +aaa +aaa +aaa +aaa +aaf +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 +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(80,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +gXs +eRz +aaa +gXs +aaa +aaa +gXs +aaa +aaa +gXs +aaa +gXs +gXs +gXs +gXs +gXs +gXs +gXs +gXs +gXs +aaa +aae +aaa +aaa +jge +aaa +aaa +aaa +ali +avb +avY +qFf +gsM +gsM +gsM +pzP +amC +fcd +dIu +qLy +qlV +tqG +spR +qGw +qlV +aFJ +ntt +nBI +wUr +fvU +gER +kCo +aHI +aHI +aHI +ikk +byS +ddI +aPO +qOB +aOl +aPH +aRa +aRa +aTG +aPG +aWu +aYc +aZD +aZD +vnI +aZD +aZD +bff +dev +aZE +xBw +bjr +ama +bmh +bjr +bjr +bjr +bjr +bjr +bvX +bxu +byA +bzR +byd +bxx +aaa +aaa +aaa +aaa +bJc +aaa +aaa +aaa +aaa +bCq +bPV +bCq +bCq +cTF +bCq +bVD +bWy +bXx +bYw +bZj +bYy +bHE +bTz +bHE +bUs +ceY +bCq +bJP +bUs +bHE +paJ +bCq +cyE +bCq +aaa +aaa +aaf +aaa +bCq +bCq +bLv +bLv +bLv +aaa +iDo +iDo +iDo +iDo +iDo +iDo +iDo +iDo +iDo +aaa +aaa +gDl +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(81,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +gXs +eRz +aaa +aaa +aaa +aaa +gXs +gXs +aaa +gXs +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +jge +aaa +aaa +aaa +ali +avb +avb +vPd +gsM +gsM +gsM +qlV +ali +ali +ali +ali +qlV +qlV +lzk +qlV +qlV +qlV +awa +axp +tcU +fnE +gLw +wUr +aHI +aLT +aHI +aHI +tkU +aKw +aLE +aMS +aOl +aPF +aQZ +aRa +aTF +dZm +aSX +hPP +aZF +aZF +aZF +aZF +aZF +aZF +bgy +gjl +bjq +bjr +bjr +bmh +bjr +bjr +bjr +bjr +bjr +bjr +bxw +byz +bzQ +byc +bxx +aaa +aaa +bGi +bGi +bJb +bGi +bGi +aoV +aoV +bCq +bPU +bHE +bSp +bHE +bCq +bVC +bWx +bWy +bYv +bZl +bCq +bHE +bCq +cda +cgF +bCq +cqn +cAh +chT +bHE +bHE +ckv +bHE +bCq +bLv +bLv +bLv +bLv +bCq +ciT +cqK +crl +bLv +aaa +iDo +atS +atS +atS +atS +atS +atS +atS +iDo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(82,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +eRz +aaa +rcV +lJA +hKo +fNB +lJA +qLo +mJH +lJA +lJA +lJA +lJA +lJA +lJA +abc +abc +abc +abc +abc +hEL +abc +abc +jge +gXs +gXs +gXs +ali +ali +qlV +qlV +ali +qlV +qlV +qlV +aaa +aaa +aaa +eyq +jDZ +gQr +xbi +wje +rQJ +arP +avZ +xtP +wUr +sYv +rDh +wUr +mzB +uSc +wHm +bwb +aJe +aKw +aLE +aMR +aNU +aPJ +aPJ +aPJ +aPJ +aPJ +aVC +aXJ +bgA +aZp +baY +bcJ +bcF +bfg +bgA +bhW +bjt +biq +bjr +bmh +bjr +bqn +brN +brN +brN +brN +bxx +byC +bzT +byl +bxx +aaf +aaf +bGi +bHz +mbC +bKk +bGi +aoV +aoV +bCq +bPW +bCq +bCq +cOw +bCq +bVF +bWA +bXy +bYx +bWz +bCq +bHE +bCq +bQa +cpY +cyL +cqy +cAi +bQa +bHE +bHE +bHE +bHE +bHE +bHE +bHE +bHE +bHE +cpR +bHE +cAQ +crm +bLv +aaa +iDo +iDo +iDo +iDo +iDo +iDo +iDo +iDo +iDo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(83,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +gDl +aaa +eRz +gXs +gXs +lJA +suC +qZT +dYQ +lGm +pwF +lJA +mvV +tso +lJA +mvV +tso +abc +hvJ +dIZ +abc +jvO +sNg +hJP +abc +jge +aaa +aaa +aaa +pta +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +arP +vqP +inw +gzY +rtC +izg +avZ +xtP +wUr +wUr +wUr +wUr +myh +inR +wUr +wUr +inR +wUr +aLE +aMY +aNT +aPI +aRb +aRb +aRb +aRb +aWx +aXE +baS +baS +bbP +bcR +bcE +baS +bex +aZF +bgu +bic +bku +bmh +bjr +aZE +brM +bts +buD +bvY +bxx +byB +bwS +byg +bxx +aaa +aaa +bGi +bHy +byE +bKj +bGi +aoV +aoV +bCq +bHE +bHE +mPr +cdb +bCq +bVE +bWz +bHE +nkP +bLu +bCq +bLu +bCq +cdb +bSs +bCq +bCq +cgG +bCq +bCq +bCq +bCq +cTF +bCq +bLv +bLv +bLv +bLv +bCq +cqv +cqL +bJe +bLv +aaa +aaa +aaa +gXs +aaa +aaa +aaa +gXs +aaa +aaa +aaa +iDo +iDo +iDo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(84,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +gXs +aaa +aaa +aaa +aaa +eRz +aaa +aaa +lJA +mAT +ifM +wnX +mAT +mAT +lJA +giE +rBK +lJA +fgy +rBK +abc +obs +rBY +abc +rgu +fbr +mCm +abc +abc +gXs +gXs +gXs +jge +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aqQ +uCo +gzY +eAG +aqR +aqR +kTj +xxi +ngs +ngs +ngs +ngs +aDv +uRS +aOs +ngs +uRS +fcn +trT +jSD +nDd +aPK +aPK +aPK +aPK +aPK +aWA +aXM +bfi +cBi +bbS +bcS +bbt +bfi +beD +gjl +aZE +biA +bmg +bmH +bkJ +aZE +aZE +aZE +aZE +aZE +bxu +byD +bwU +byn +bxu +aaa +bxy +bxy +bxy +bJd +bKm +bxy +aaf +aaf +bCq +bPY +cOw +bCq +bCq +bCq +bCq +bCq +bYy +bCq +bCq +bCq +bCq +bCq +bCq +bCq +bCq +bCq +bUs +bLv +aaa +bCq +ckv +bHE +bCq +aaa +aaa +aaf +aaa +bCq +bCq +bCq +bCq +bCq +gXs +gXs +aaa +gXs +aaa +aaa +aaa +gXs +aaa +aaa +aaa +iDo +atS +iDo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(85,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +gXs +aaa +fIs +fIs +fIs +eRz +gXs +gXs +lJA +lJA +czP +iCN +lJA +lJA +lJA +ewG +eoJ +lJA +lEf +ejr +abc +tJE +hEL +abc +tYd +cRq +gcX +jKj +abc +abu +abu +abu +abc +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aqQ +aqR +aqR +pjg +sqg +inq +avZ +ayz +arP +arP +arP +arP +arP +arP +arP +arP +arP +arP +aLE +aMS +aOv +lPr +aPK +aSl +aTH +aPK +aWz +aWC +baS +baS +baS +bcR +baS +baS +baS +gjl +bju +biv +bmf +bmt +boN +bqo +brO +btt +buE +bvZ +bxu +bxx +bwT +bym +bxu +bxy +bxy +bGj +bHA +bHA +bKl +bxy +aaH +aaH +bCq +bPX +bRg +bRg +bCq +bHE +bVG +bHE +bHE +bCq +mqZ +mqZ +dfL +dKP +odx +rBq +evR +bCq +bUs +bLv +aaa +bLv +bJf +ccd +bCq +aaa +aaa +aaf +aaa +aaa +aaf +aaf +aaa +aaf +gXs +gUu +crn +bij +bij +bij +bij +bij +jkz +btG +aaa +iDo +atS +iDo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(86,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +gXs +gXs +fIs +aaa +aaa +gXs +aaa +gXs +kma +fdJ +hch +reE +tdd +cJA +tOk +knA +vws +tkx +epj +lDm +xnF +pFj +kcB +gyy +mCo +vCS +nZh +pRi +rsn +qIW +aca +ebo +yeZ +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aqQ +uCo +gzY +arP +arP +arP +avZ +ayz +arP +ktS +gXs +ktS +ktS +gXs +ktS +gXs +gXs +aKB +ngV +aMS +aOv +aLE +aRc +aSm +aTJ +aPK +aWA +aWC +aDW +aZI +baS +cCn +bdS +bdU +ckQ +gjl +bgz +biT +boU +bmP +buF +bbR +bbR +btu +bbR +bOL +bxy +byF +bwW +bGm +bCo +bDk +bEK +byE +byE +byE +byE +bGi +aaf +aaf +bLv +bQa +bHE +bHE +bCq +bHE +bCq +bCq +bCq +dfL +bcU +bcU +sAM +mqZ +mqZ +mqZ +mqZ +bCq +bUs +bLv +aaf +aDM +aDM +aDM +aDM +aDM +aDM +aDM +kfX +saU +saU +bij +crn +bij +bij +eCR +wUg +bnT +bph +bgN +mQS +bgN +tNF +btG +gXs +iDo +atS +iDo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(87,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +eRz +eRz +eRz +eRz +eRz +eRz +gXs +gXs +gXs +aaa +gXs +yco +lZp +qgj +lYI +hzC +ggT +fdR +qwA +oqf +wcS +pFt +lAD +lJA +lJA +lJA +lJA +ili +waX +mCo +eRS +naj +liJ +acc +rAW +abe +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +anO +aaa +aaa +arP +qae +aqR +arP +asQ +aqR +awb +axr +arP +gXs +lLf +lLf +lLf +lLf +lLf +lLf +ktS +lSa +aLl +aMT +aOv +aPL +aPK +aSm +aTI +aPK +aWB +cCj +apd +apd +apd +cCk +apd +aZK +bgB +bhX +bgv +biF +bkw +bnE +bny +btv +btv +bjv +btv +buc +bxz +eVL +bwV +byy +bBa +bAb +bzY +bBa +bEQ +bGM +bKn +bGi +aoV +aoV +bLv +bPZ +bHE +bHE +cTF +bHE +bCq +mqZ +rVy +cNW +rgW +bcU +dfL +aXL +mqZ +tur +wfR +bCq +bUs +bLv +aaa +aDM +ckw +clC +cmy +cnm +cnL +cov +cpj +cpS +aDM +fjS +sPT +btG +rXl +xgC +ugu +mJf +bph +bih +big +bii +bgN +btG +aaa +iDo +atS +iDo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(88,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +eRz +aaa +gXs +gXs +aaa +aaa +aaa +aaa +adI +oUF +eCB +adI +qCc +qCc +wgu +qCc +qCc +qCc +lvw +gMB +lJA +tnH +wVt +gSj +vYF +txs +lJA +jKc +mjJ +eJu +eSJ +qNU +moe +acb +gcm +tqk +aaa +aaa +aaa +aiU +hlT +aiU +aaa +aiU +vxX +aiU +gXs +arP +lZs +dPq +arP +asP +cya +avZ +axu +ayH +ktS +lLf +aHL +lqO +aMU +aFV +lLf +ktS +aKy +aLq +aMS +aOv +aPN +aPK +aSn +aTK +aPK +uoG +sOA +asW +baW +bLE +bLG +apd +bfj +bgC +bia +aZK +bjs +bkx +bmQ +bnA +bpB +bpB +brR +bsV +bwc +bxA +bvI +bwX +byG +bvI +bAm +bBG +bDo +byE +byE +bKp +bGi +aaf +aaf +bLv +bHE +bHE +bSs +bCq +bHE +bCq +mqZ +fLN +fxa +aCr +bcU +dfL +aLt +leE +dfL +dfL +bCq +bUs +bLv +aaa +aDM +cky +clE +cmA +clE +cnN +cox +cpl +cmy +jLn +xTy +xTy +tJK +xTy +xTy +xhS +mOB +bph +big +bgN +bkZ +bgN +btG +aaa +iDo +atS +iDo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(89,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +eRz +aaa +aaa +gXs +aaa +gXs +aaa +aaa +adI +hzs +evh +ycL +qCc +rUr +jlQ +gZT +hQw +qCc +kcR +rBK +lJA +weW +xNV +gxK +dJu +fbY +lJA +abd +khO +enB +enB +enB +enB +enB +enB +sKA +gXs +gXs +gXs +aiU +alp +aiU +gXs +aiU +alp +aiU +arP +arP +arP +arP +arP +arP +arP +avZ +azK +ayG +ktS +lLf +aJi +aLL +aOi +aOw +bgM +cUx +nbr +oTW +aMT +aOv +aPM +aPQ +aPQ +aPQ +aPQ +apd +aYi +aqW +aqW +bbQ +uFp +apd +aZH +aZK +bhZ +aZK +cNM +bfQ +bnG +bnz +bpA +bbR +sWR +jlm +bud +eyM +kSb +bAZ +bGm +bzF +bAc +bGm +byE +cBB +byE +bKo +bxy +aaH +aaH +bCq +bHE +bRh +bLu +bCq +bHE +bCq +mqZ +bcU +bcU +bcU +bcU +bcU +bcU +bcU +bcU +mqZ +bLv +bUs +bLv +aaf +aDM +ckx +clD +cmz +cnn +cnM +cow +cpk +cpT +aDM +fjS +dXq +btG +rtl +oqO +vFr +bnV +bph +bii +big +bih +bgN +btG +aaa +iDo +atS +iDo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(90,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +sMu +aaa +aaa +adI +xWS +adI +xWS +adI +adI +lCt +qcU +vRN +qCc +icS +mqQ +qYa +wIl +qCc +sfz +tbR +lJA +ryi +cCr +lJA +lJA +lJA +lJA +noJ +aeO +afu +acd +wdr +itQ +pgn +tmO +sXV +xUe +aiU +aiT +nEj +vTP +aiU +amK +aiU +mkU +xWq +arP +asR +gzY +fdQ +ngU +kUC +arP +awc +azK +ayG +ktS +lLf +aER +aDj +aER +aFX +aHj +aJa +aKc +aLp +aMV +aOy +pgl +aPQ +aRV +aSW +aVa +apd +aWE +aqW +aqW +bcG +bLG +apd +aZH +bgD +bfN +bgE +cNN +bkH +bfm +boS +bfm +bNK +bkN +bfm +bwe +bwe +bwd +bwY +byJ +bwe +bAc +bBI +bGn +bGn +bGn +bKq +bxy +aaf +aaf +bCq +bOK +bCq +bCq +bCq +bUt +bCq +uaw +bcU +bcU +bcU +bcU +bcU +bcU +bcU +bcU +mqZ +bLv +bUs +bLv +aaa +aDM +cky +clG +cmB +clG +cnP +coz +cpn +sPY +sPY +bgO +dgO +bgO +pPI +uRd +ktP +bnW +bph +bgN +mkv +bgN +jFH +btG +gXs +iDo +atS +iDo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(91,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +eRz +aaa +aaa +oUF +llb +eXI +gLu +vwQ +adI +hzs +hnp +jVV +qCc +qCc +qCc +qCc +qCc +qCc +adI +adI +lJA +maP +lHK +nRO +vYF +txs +lJA +ksa +dQS +afu +acd +pDe +dly +mnC +mcp +sXV +oDm +hzK +akb +ahq +akI +ahU +aiT +aiD +gvX +uFZ +hBw +vLo +gzY +aqR +gzY +gzY +esK +awb +azK +ayG +ktS +lLf +aBX +aDi +aEQ +aFW +aHh +aIV +nez +pMQ +syJ +aOx +aPc +aRe +aRT +aSt +aWF +apd +aWG +aZa +baX +bcH +bdE +apd +aZH +bnL +cNG +cNJ +cNM +cNI +bnI +boR +bqs +bbR +bkM +bbR +bwd +bxB +bvL +byI +byH +bwe +bAn +bBH +bxy +bxy +bxy +bxy +bxy +bLv +bLv +bCq +bHE +bLv +aaa +bLv +uuG +jJF +gBo +bcU +bcU +bcU +bcU +bcU +bcU +bcU +bcU +mqZ +bLv +bUs +bLv +aaa +aDM +ckz +clF +cmy +cnp +cnO +coy +cpm +aDM +aaf +aaf +aaa +aaa +gXs +iHk +bgO +bgO +bgO +bgO +bgO +bgO +jBA +btG +aaa +iDo +atS +iDo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(92,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +eRz +aaa +gXs +adI +lNQ +eDF +jYl +lUU +adI +adI +aaW +wVq +adI +qFK +jRW +dLi +evc +qto +pGA +adI +mnu +xGm +xNV +oTx +nko +vFZ +lJA +noJ +aeO +afw +acd +acd +dly +xxp +mcp +dYZ +kMt +nTG +rhX +ahr +ahD +ahV +agr +fJY +eXz +pUy +arP +arP +arP +arP +iPX +nnp +arP +awb +azN +aHJ +ktS +lLf +aBZ +aDx +aET +aOH +lLf +ktS +aKd +aLq +aMY +aOA +aPO +aRf +aSc +aSc +aUw +apd +aXK +avr +aZJ +bbT +bSy +apd +aZH +beF +bfl +bmi +bjw +bmk +bbR +boT +bbR +bbR +buI +bbR +bwd +bxD +byL +byK +byT +bwe +bAx +bTE +bCq +bHD +bJe +bCq +nkP +nzX +bHE +bHE +bHE +bLv +aaf +bLv +bUs +bCq +mqZ +rVy +fxa +rgW +rVy +fxa +rgW +rVy +fxa +sAH +bLv +bUs +bLv +aaf +aDM +aDM +aDM +aDM +aDM +cnR +coB +aDM +aDM +aaa +aaa +aaa +aaa +gXs +aaa +aaa +gXs +aaa +aaa +gXs +aaa +aaa +aaa +aaa +iDo +atS +iDo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(93,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +eRz +aaa +aaa +oUF +iMy +cTo +ltm +kkb +xfW +ybb +kMn +rDc +grd +wpV +tYg +jCV +sAm +jrR +teq +adI +cVE +abb +abt +lJA +lJA +lJA +lJA +noJ +aeO +afv +agf +acd +dly +xxp +mcp +sXV +gDP +lAH +lNH +akG +akG +kHd +vGn +gav +cxP +pUy +arP +aqU +arg +arP +arP +arP +arP +vgJ +hSl +arP +gXs +lLf +lLf +lLf +lLf +lLf +lLf +ktS +aKA +qBi +aMS +aOz +exP +aPQ +aSa +aSr +aSr +apd +aYZ +bLE +aqW +aqW +noy +apd +beA +bqp +cNG +cNJ +bLF +aZK +sRH +bbR +bqt +cBq +bbR +bbR +bwd +bxC +byK +cBv +byO +bwe +bAo +bTE +bGo +bHC +bHE +bCq +bCq +bLv +bLv +bHE +bLv +bCq +aaa +bLv +bUs +bCq +mqZ +usO +iiW +oKh +usO +mpI +oKh +usO +izv +oKh +bCq +bUs +bCq +aaa +aaf +aaa +aaa +aaf +aDM +cnQ +coA +cpo +aDM +aaa +aaa +aaa +aaa +gXs +aaa +aaa +gXs +aaa +aaa +gXs +aaa +aaa +aaa +aaa +iDo +iDo +iDo +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(94,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +eRz +gXs +gXs +adI +mwN +kfG +uJY +vhC +tLC +ybb +uLB +kGj +adI +lux +gPY +ktW +qQK +uuw +dPs +adI +kgr +nFA +wVt +pZD +vYF +tCs +lJA +pIR +aeL +afy +agh +acd +kCa +hnU +vda +sXV +agv +amM +aiX +aiX +aiX +aiX +aiX +foT +ibK +pUy +arP +aqR +arl +arP +asS +sfs +aqR +awb +axt +arP +ktS +gXs +ktS +ktS +gXs +ktS +gXs +gXs +aKB +aLF +aNp +aOC +aPQ +aPQ +aTL +aTP +aWD +apd +aYj +aZL +baU +baU +bcV +apf +bfn +beW +bfR +bKF +bNH +aZK +bnJ +bbR +bbR +bbR +bty +buJ +bwe +bxE +byM +bAd +bBf +bwe +bAJ +bCe +bCq +bHE +bJf +bCq +aaa +aaf +bLv +bHE +bLv +aaa +aaa +bTB +bUv +alP +alP +alP +alP +bGp +bGp +bGp +bGp +alP +alP +alP +car +bUs +bCq +bCq +bCq +bCq +bCq +bCq +aDM +cnS +coC +cpp +aDM +aaf +aaf +aaa +aaa +gXs +aaa +aaa +gXs +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(95,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +gXs +eRz +aaa +aaa +oUF +xFj +jKm +cYf +kkb +jCV +pgq +peD +sBM +adI +aaN +jOB +adI +adI +adI +adI +adI +aay +oss +abv +pPE +acA +acI +adD +aed +wGc +afv +agg +acd +ovv +dCV +idK +age +kZS +agu +aiX +amL +apK +amX +aiX +aiE +aiK +aiN +arP +arc +arP +arP +usE +aqR +aqR +awb +axt +arP +arP +arP +arP +arP +arP +arP +arP +arP +arP +aHP +aNc +aOB +aPQ +aPQ +aSs +aSs +aSs +apd +apd +apd +baV +bON +apd +apd +aZK +beV +cNI +bKP +cNI +aZK +bnK +bnK +bqu +bqu +bnK +bnK +bwe +bwe +bwe +bwe +bwe +bwe +bAI +bCd +bCq +bCq +bCq +bCq +bLv +bLv +bLv +bOK +bLv +bLv +bLv +aJq +bUu +bLw +bLw +bLw +bLw +bLw +bLw +bLw +bLw +bLw +bLw +bLw +caq +cbw +bHE +ciT +bCq +bSs +ceY +cig +aDM +cnR +cgT +cjJ +aDM +cig +cig +cig +aaa +aaf +aaa +aaa +aaf +aaa +aaa +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(96,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +gXs +sMu +gXs +gXs +adI +adI +yhI +lLu +dLZ +vYY +mui +gcV +lic +aau +xbP +mHH +fMF +ueN +iqi +fKN +adI +mIZ +abg +lJA +lJA +lJA +lJA +lJA +aeg +ryN +afA +acd +acd +kuA +laq +kdP +mGw +akm +akr +alZ +amO +arQ +aor +aiX +aiF +aqI +asv +aqT +apS +arn +apS +apS +apS +apS +ajw +ajy +ayJ +ayJ +aBi +aqR +aqR +aqR +aqR +aqR +aqR +arP +aLI +aNr +bBo +pQN +aRh +pQN +pQN +pQN +pQN +pQN +aLY +pQN +pQN +aRh +bbV +bfo +bkS +bfo +bgn +bfo +bmn +bfo +boW +bmE +bmE +btz +btz +bwf +btz +btz +btz +bBh +bCr +bAK +bCn +bGq +bGq +bGq +rGq +bLw +bGq +bGq +bGq +bLw +bGq +rGq +bTD +bUx +bVI +bVI +bVI +bVI +bVI +bVI +bVI +bVI +bVI +bVI +bVI +bTA +xgk +bHE +kEm +bHE +bHE +bHE +cmD +cnr +cnU +chD +cpq +cpV +cqw +cqO +crp +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +kEY +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(97,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +gXs +gXs +gXs +eRz +aaa +aaa +aaa +oUF +vim +kYm +mke +hpY +obq +fiR +dPE +pTT +jIH +rqq +adI +mxZ +xMS +pnb +abf +aaK +jRw +aaU +eDJ +acC +ada +adF +aef +aeM +aav +ldY +xkk +lRb +vIi +fsj +sXV +xnm +rAR +uCU +and +arS +anq +aiX +aiT +ass +aiT +arP +arP +arP +arP +arP +arP +arP +ajx +axw +ayI +azO +aBh +akL +aDz +aEV +aGg +aHx +aqZ +apg +aLx +aNq +aOD +aPe +pQN +pQN +pQN +pQN +pQN +pQN +aLY +pQN +pQN +bHt +pQN +pQN +beX +pQN +bgm +bjx +bmm +bnM +boV +bnM +bnM +bnM +bnM +bnM +bnM +bnM +bAe +bBg +bCq +bCq +bDt +bGp +bGp +bGp +bES +bGp +bGp +bGp +bGp +bGp +bGp +alP +bTC +bAx +bVI +bWB +bWB +bYz +bYz +cag +cbl +bYz +bWB +bWB +bVI +cax +cbx +cdh +ciU +cjK +ckA +ckA +cmC +cmC +cfJ +chB +cpW +cgR +cgR +cqN +cro +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(98,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +eRz +aaa +aaa +rcV +adI +adI +adI +adI +adI +adI +lBk +jxx +adI +thB +rqq +adI +adI +jTy +aaI +adI +gXu +wAN +ruu +ace +ref +aat +adH +aem +ikv +adp +sXV +sXV +sXV +sXV +sXV +sXV +oby +ajX +aiX +amL +asp +nbY +aiX +iRj +anz +kbO +cCi +apU +ajd +arU +apU +apU +cCi +awg +axy +ayW +azQ +aBk +ayW +ayW +ayW +ayW +ayW +ayW +ayW +aLW +aNs +pQN +aLX +aLX +aLX +aLX +aLX +pQN +aYl +aZN +aYl +aYl +aYl +aYl +aYl +bgG +bid +aYl +bBi +aLY +bnN +boY +bqw +pQN +pQN +aYl +fAj +aLX +pQN +pQN +bBi +fxV +aaa +aaf +aaa +aaf +aaa +aaf +aaa +aaf +aaa +aaa +aaa +aaa +bCq +bTF +bAx +bVI +bWD +bXA +bYB +bYz +cai +cSF +ccg +cdd +cea +bVI +caz +cby +cdj +cdv +cem +cem +cem +cfe +cfD +cgv +chE +ciN +ciN +cji +cDZ +crr +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(99,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +eRz +eRz +gXs +aaa +aaa +gXs +adI +msp +pHK +wkU +sNj +efs +adI +sAT +rqq +aan +adI +adI +adI +adI +xLQ +abh +acd +ozh +abK +acY +acd +aeh +lJS +ado +afq +afH +agY +ahS +aiI +afn +vfX +akD +aiX +aiX +aiX +aiX +aiX +ycY +anz +aov +cCi +air +aqY +arT +apU +apU +cCi +awg +axy +ayK +azE +aBj +aBO +aDC +ayW +aGo +aHN +aJj +ayW +aLV +pQN +aOE +aJn +aJn +aJn +aJn +aJs +pQN +aYk +aZM +aZM +bbW +bcX +bcX +aZM +aZM +aZM +bjz +bkT +bjz +bjz +aiV +bqv +bqv +bqv +bqv +bwg +aJw +pQN +pQN +bBi +fxV +aaa +bEU +bGr +bGr +bGr +bKr +aaa +aaf +aaa +aaa +aaf +aaf +bCq +bTE +bAx +bVI +bWC +bXz +bYA +bZn +cah +bWB +ccf +cdc +cdZ +bVI +cay +cig +cig +cig +cig +cig +cig +cig +cig +cfL +coH +cBO +cgR +cDB +cqP +crq +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(100,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +eRz +aaa +aaa +aaa +aaa +xWS +gcY +oVL +dSh +xBJ +fMY +adI +pUf +aam +aap +aau +aaD +aau +vMi +oKB +vhy +abA +jNN +jRV +hkA +acd +aek +acp +aav +agO +afI +ahb +ahZ +aiL +lZn +akg +kuh +aly +anP +gyr +okK +xal +aqC +anz +aov +cCi +aqX +arR +asj +cLS +ajr +atY +auo +axy +ayN +azE +aAW +aCa +aDB +aDI +aEZ +aEZ +aEZ +ayW +aLX +pQN +aOE +aJn +aaa +aaa +aJn +aJs +pQN +aYn +aZM +aZu +bbY +bcY +bdX +bbX +bgH +bie +bjB +bkW +bmp +bjz +ajh +bqy +cBr +bqy +buK +tZe +aJw +pQN +pQN +bBi +fxV +aaf +bEW +bGt +bHG +bJh +bEW +aaf +aaf +aaa +aaa +bKv +bLB +alP +bMj +bAx +bVI +bWF +bXC +bXC +bZp +cak +bWB +bWB +bWB +cec +bVI +kNv +cig +chY +ciX +cjM +ckB +ckB +ckB +cig +cnY +coH +cgR +cgR +cqx +cgR +crp +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(101,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +eRz +eRz +eRz +aaa +aaa +uKW +jCV +jCV +eoR +jCV +ooF +adI +viH +siz +aao +aax +aaC +aaA +ngq +tWe +jHp +aei +fFR +acE +add +acd +aej +aeQ +adp +ahv +afK +amJ +aid +aiM +ajz +alz +cZe +alg +plS +afM +pQr +aou +aqC +anz +aov +ape +arT +aqV +ajf +apU +ajt +cCi +awg +axy +ayM +azs +aAR +aBP +aDA +aEW +aGi +aHB +aEZ +aBt +aJs +pQN +aOE +aJn +aaa +aaa +fxV +aVb +aWH +aYm +aZM +aZq +bbX +bbX +bbX +bfp +aZM +aZM +bjA +cAG +bmo +bmo +boZ +bqx +brU +bmo +bmo +bmo +bmo +byN +pQN +bBj +fxV +aaa +bEV +bGs +cBC +bJg +bKs +aaa +aaf +aaf +aaf +bJQ +bLg +cem +cem +bNg +bVI +bWE +bXB +bYC +bZo +bWB +bWB +cch +cde +ceb +bVI +cay +cig +chY +ciZ +ciW +ckB +ckB +ckC +cig +cnX +coH +cps +cpX +cqz +cqR +cig +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(102,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +gXs +aaa +eRz +gXs +gXs +uKW +oIl +jCV +eoR +ecB +dnX +adI +adI +mZu +adI +uGI +aaF +qbk +ske +aaW +xjU +adI +adI +adI +adI +adI +xKl +omX +afG +xuu +afL +ahu +aie +aiO +afn +xzv +agL +akT +gNE +gLz +rcI +seP +aqC +anz +aov +cCi +tKb +arT +arT +asn +atK +auq +avs +axz +ayP +azU +aBo +aCg +aEZ +aEX +aEZ +aEZ +aEZ +vbD +aJs +pQN +bJx +aJn +aaa +aaa +aTQ +aVd +aWJ +aYp +aZM +aZz +baI +bda +bda +bca +bgJ +aZM +cNL +bkY +bmo +bnP +bpc +bqA +brW +btB +buM +bwi +bmo +aMm +pQN +vEi +bCs +bCs +bEY +bGu +bHI +bJi +bEY +bCs +bCs +bNI +bNI +bRn +cce +bNI +bNI +bUz +bVI +bWG +bXD +bYz +cSE +bWB +bYz +bYz +cdf +ced +bVI +cay +cig +ciZ +ciZ +ciZ +ckC +ckC +ckC +cig +coa +coJ +clJ +clJ +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(103,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +gXs +aaa +eRz +aaa +aaa +uhK +xAA +jSY +hxg +wAj +ssc +adI +uOm +nLP +adI +dyS +aaE +aaN +aaN +aaV +rvS +etr +tyb +abL +adb +adI +ael +aeO +afF +aiX +aiX +afn +afn +aiX +aiX +agM +sAk +akp +aiX +amB +amn +aiX +anz +anz +aov +cCi +arT +arT +asl +arT +apU +cCi +awg +axy +ayv +azE +aBn +aCb +aDD +aEY +aGj +aHC +aEZ +aBt +aJs +pQN +aOE +aJn +aaa +aaa +aTQ +aVc +aWI +aYo +aZM +aZy +bay +bcZ +bdY +bdF +bgI +aZM +bjC +bkX +bmo +bnO +bpb +bqz +bqq +brS +bsY +bue +bmo +aMn +pQN +bBi +bCs +bDv +bEX +bFb +kfv +bFa +bKt +bLx +bCs +cCe +bRl +apV +bLC +cCf +bNI +bUz +bVI +bWB +bWB +bYz +bZq +cal +cbm +bYz +bWB +bWB +bVI +cay +cig +cig +ciY +ciY +cig +cig +cig +cig +cnZ +coH +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(104,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +gXs +aaa +eRz +aaa +aaa +adI +oIl +uUb +eZI +qZQ +dNP +adI +hJO +mpY +adI +szf +efs +gVc +qXg +adI +xOx +oPY +ncU +lvc +epG +adI +aen +aeO +afG +afq +aii +afM +aig +agp +aiX +lfV +akl +akM +amm +gyr +anM +xal +aqC +anz +aox +cCi +cCi +cCi +cCi +cCi +cCi +cCi +awg +axy +ayQ +azE +aBq +aBr +aDE +aFc +aEZ +aEZ +aJf +ayW +aJr +pQN +aOE +aJn +aaa +aTQ +aTQ +aTQ +aWL +aTQ +aZM +bbX +bay +bbM +bcN +bdK +bgL +aZM +aZM +aZM +bmo +bnR +bpe +bqB +unQ +btD +buO +bwk +bmo +aLY +cBw +bBk +bCs +bDx +bFa +bFa +bHJ +bFa +bFa +bLz +bCs +cCe +bNJ +apV +xhV +gWd +bNI +bUz +bVJ +bWI +bXF +bXF +bZs +cao +cbo +bXF +bXF +cef +bVJ +cay +cig +cig +cSV +cSV +cig +cig +cmG +cnt +cob +coL +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(105,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +gXs +gXs +eRz +gXs +gXs +adI +vHK +emf +vHK +vHK +vHK +vHK +vHK +adI +adI +fdS +qRI +jvB +iwU +adI +ltw +eDf +oXV +acH +adc +adI +aeo +aev +aeS +ahw +ajg +afM +akU +afM +lBz +alA +alt +amS +kbm +afM +cKC +dyE +aqC +anR +aow +apg +aqZ +aqZ +aqZ +apW +aqZ +avh +awh +axz +ayO +azE +aBp +aCc +aDF +ayW +aGq +aHO +aJl +ayW +ftE +pQN +aOE +aJn +aaa +aTQ +aTR +aVe +aWK +aYq +aZO +aZC +baK +rnt +bbC +bdI +bgK +bgK +bjE +bgK +bmq +bnQ +bpd +bpd +bqr +btC +buN +bwj +bmo +byP +pQN +bBi +bCs +bDw +bEZ +bGv +bHH +bJj +bKu +bLy +bCs +bNJ +bNJ +bKx +cjL +gbq +bNI +bUz +bVJ +bWH +bXE +bYD +bZr +can +cbn +cci +cdg +cee +bVJ +cay +cig +cia +cSN +cSS +ckD +cTc +cTe +cfG +cgw +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(106,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +eRz +aaa +aaa +aaa +vHK +qOY +pBd +kGL +fcj +jqK +vHK +rTj +rTj +goJ +efs +rTj +hvC +adI +oiY +abE +acg +acJ +adb +adJ +aep +aeT +afG +xuu +ajL +akj +afM +afM +nss +kQz +alB +akT +gNE +gLz +anB +seP +aqC +anz +aov +aph +aph +aph +arW +aso +auf +avi +awi +axy +ayS +azS +aBs +aCi +aDI +ayW +ayW +ayW +ayW +rNG +pQN +pQN +aOE +aJn +aaa +aTQ +aTT +aVg +aWN +aYs +aZQ +bbi +bde +kvL +bcd +bcd +bcd +bcd +bcd +bcd +bms +bnS +ajs +bqC +brZ +btE +bnS +bwl +bxG +byR +bnM +bBl +bCs +bFa +bFa +bFa +bHH +bFa +bFa +bFa +bCs +bNJ +bNJ +apV +cjL +nxv +bNI +bUz +bVJ +bOo +bOD +bQb +bZv +bSd +bXG +bOC +bWt +cBK +bVJ +cay +cig +cid +cSO +cen +ckG +clJ +cmF +cgR +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(107,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +eRz +aaa +aaa +aaa +vHK +sIn +eZS +iBj +pGs +iBq +vHK +dCd +aaP +xpH +aaG +wYc +aaP +adI +keM +xib +acG +acD +cNi +adI +aeq +aeV +aiX +aiX +aiX +tHh +ahG +ajY +fxx +ako +ene +amj +aiX +amB +amn +aiX +anz +anz +aov +aph +aob +ara +arV +apZ +aph +aph +awg +axy +ayR +azR +aBr +aEZ +afO +aEZ +agm +aBt +aaa +aJn +aLY +aLY +aOF +aTQ +aTQ +aTQ +aTS +aVf +aWM +aYr +aZM +bbh +bcc +bdd +cVs +mwj +bbX +bif +aZM +aZM +bmo +bmo +bmo +bmo +bmo +bmo +bmo +bmo +bmo +byQ +pQN +bBi +bCs +bFa +bFa +bGw +bER +bJk +bFa +bLA +bCs +cCd +bQc +bKA +rKP +bSv +bNI +bUB +bVJ +bOl +bOC +bPQ +bQK +bYF +bTI +bUy +bWs +ceg +bVJ +cay +cig +cic +cSP +cST +cTa +ceZ +clQ +cgR +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(108,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +eRz +eRz +gXs +gXs +vHK +vHK +vHK +vHK +vHK +vHK +vHK +xMg +tPY +adb +lht +jVP +tPY +adI +abj +abF +eIW +mJy +ldT +cSp +aeP +afC +agk +cOV +agP +ajJ +agT +all +all +aku +akl +amk +amm +gyr +mos +xal +aqC +anz +aov +aph +aoc +ata +arY +ata +auh +aph +awg +axy +ayT +azR +aEZ +aEZ +aBt +aEZ +aio +aBt +aaa +aJn +pQN +pQN +aOE +aPT +aRj +aSv +aTV +aVi +aWP +aYu +aYt +bbk +bbk +bfu +bbk +jmL +aZM +aZM +aZM +ktS +gXs +ktS +ktS +gXs +ktS +ktS +gXs +ktS +fxV +aXf +pQN +bBi +bCs +bAM +bFa +bGy +bFc +bJm +bFa +bHO +bCs +cCd +cCd +aYg +cjL +cCc +bNI +bEP +bVJ +bVJ +bOM +bQd +bQP +bSt +bUc +bVb +bWv +cei +bVJ +cay +cig +cif +cSQ +cSU +cTb +cTd +ckF +ckF +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(109,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +eRz +aaa +aaa +gXs +aaa +gXs +adI +olH +mte +lpx +nZs +nZs +nZs +sYV +nZs +maU +adI +abi +eqA +ach +wAj +adf +mhv +aer +afB +agi +eWL +afN +ajK +aiH +akF +aiy +akv +uXt +amS +pAK +afM +anQ +dyE +aqC +anz +aov +api +ata +arb +arX +atc +aug +aph +awg +axy +aEZ +ayU +aEZ +aCj +ayW +ayW +ayW +ayW +aJn +aJn +pQN +pQN +aOE +aPS +aRi +aSu +aTU +cpC +aWO +aYt +aYx +bbj +bce +bdf +beb +aYv +ktS +ktS +ktS +ktS +gXs +ktS +ktS +gXs +fxV +fxV +fxV +fxV +fxV +aXf +pQN +byU +bCs +bAL +bFa +bGx +bET +bJl +bHh +bHN +bCs +cjo +cCd +bSx +cjL +cCb +bNI +bEP +bLu +bVJ +bVJ +bVJ +bVJ +bVJ +bVJ +bUC +bWu +bVJ +bVJ +cay +cig +cie +cdT +cCY +cnA +cev +cfg +cgU +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(110,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +gDl +aaa +eRz +aaa +aaa +gXs +aaa +aaa +adI +noR +nSI +sHd +jCV +tHO +aaR +jUN +peE +aaR +adI +adI +adI +adI +adI +adI +adI +aaZ +aaZ +aiX +aiX +afS +ahx +aiX +aiQ +xUX +akx +uTe +akT +amx +any +arD +seP +aqC +anz +aov +aph +aqb +are +arZ +ata +aui +aph +awg +axy +ayX +azY +aEZ +aEZ +afP +aFb +aEZ +cyg +aJp +aKE +aMa +aNw +aOE +aPU +aRl +aSx +aTX +aVi +aWR +aYv +aZS +aZR +aZR +bbm +bec +bfu +hty +lpQ +sUx +iZd +wql +wql +wql +wql +wql +yhz +ouQ +cQT +nbT +aXf +pQN +bBi +bCs +bFa +bFa +bFa +bET +bJn +bHi +bHQ +bCs +cjo +bJu +bSx +cmX +bSz +bNI +bUD +bVM +bVM +bVM +bVM +bVM +cat +bCq +bVd +bWK +bYp +bCq +cay +cig +cig +cSR +cSV +cig +cig +cTf +cgR +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(111,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +eRz +eRz +eRz +eRz +aaa +aaa +adI +sew +suS +qvc +adb +kOE +dxv +fmR +dzK +adb +adI +aaT +aaf +abx +aaZ +aeF +ack +agJ +acT +adK +aew +afT +ahy +aij +aiR +ajc +akz +ene +als +aiX +apT +amn +aiX +aqD +anz +aov +aph +cIv +ard +ard +ard +aph +aph +awj +axy +ayW +ayW +aBt +aBt +ayW +ayW +ayW +ayW +aJo +pQN +aLZ +aNv +aOE +aPS +aRk +aSw +aTW +aVj +aWQ +aYv +aZR +aZR +aZR +aZR +aZR +bft +wZI +gDO +aBW +aDs +aEN +aGb +pub +bqD +bsa +vCn +pQN +pHt +nbT +aXf +pQN +wTf +bCs +bCs +bCs +bCs +bFe +bCs +bLD +bCs +bCs +bNI +bNI +bKU +cnB +bNI +bNI +bCq +bCq +bCq +bCq +bCq +bCq +cas +bCq +bVc +bWJ +bYn +bZB +caC +cig +cSM +cjd +cSW +ckI +clJ +cmL +cBO +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(112,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +gXs +eRz +aaa +rcV +adI +adI +adI +adI +oUF +gfw +adI +adI +nqu +uZY +adI +aaT +gXs +abG +aaZ +aeW +acl +agJ +adg +adL +adL +ago +ahz +aim +aiW +ajc +akz +ene +alg +alw +amp +aot +apR +aqE +anz +old +apk +anw +anw +anw +anw +aVh +avj +awl +axC +ayY +cpF +azZ +azZ +azZ +azZ +aGt +aHQ +aJr +pQN +aMc +aNy +aOE +aPS +aRn +aSz +aTY +aVl +aWT +aYx +aZR +bbm +bbm +bdh +bee +nVz +xUL +tyX +gpD +aDt +cJW +aGa +aHF +bqF +wql +rML +pQN +uWq +bxI +bwa +bAg +bBq +bCu +bAO +bFd +bFd +bFj +bJp +bHk +bHR +bIe +bFd +bJz +bRp +cav +bSA +bTJ +bSA +bSA +bWL +bSA +bSA +bZx +bSR +bUl +bVf +bXm +bYE +bCq +bHE +cig +cij +cjf +cSX +ckK +clJ +cmL +cgR +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +gDl +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(113,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +eRz +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +gXs +aaa +gXs +aaa +abY +gXs +abG +aaZ +agS +acm +agK +aaZ +aaZ +aex +agt +aaZ +aaZ +aaZ +fsa +akz +itD +alg +vyK +amI +amS +alv +aqE +anS +aoy +apj +anz +anz +anz +anz +anz +anz +awk +axB +anz +anz +anz +anz +anz +anz +apj +aHP +pQN +pQN +aMb +aNx +aOE +aPS +aRm +aSy +aTX +aVk +aWS +aYw +aZT +cBj +bcf +bdg +bed +nVz +tyX +pst +hoL +alu +aEM +aGd +uOJ +bqE +omE +eFH +pgZ +jnV +knx +bvW +bAf +bBp +aHP +bAN +bQg +bQg +bFh +bGN +bHj +bNN +bNN +bNN +bNN +bNN +cau +cBH +bMG +bLZ +bLZ +bLZ +bLZ +bLZ +bQQ +bSw +cbr +bVe +bXk +bYq +bCq +ceW +cig +cdk +cMC +cSY +ckI +clJ +cmL +cnv +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(114,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +gXs +gXs +gXs +gXs +eRz +aaa +gXs +aaa +aaa +gXs +aaa +aaa +aaa +aaa +gXs +aaa +gXs +aaa +aaT +gXs +abG +aaZ +aeY +acn +agR +agW +ahA +aeE +agz +ahW +ain +aiZ +jyO +ajC +akC +akX +alw +amJ +aoY +rCl +aqE +anz +aoz +apm +aqd +anA +asa +atd +anA +avk +awk +axE +ayZ +pHO +aBu +aAa +aAa +aAa +aGu +aHR +aJt +pQN +aMe +aNA +aOE +aPV +aRp +aSB +aTZ +aVn +aWV +aYz +aZR +bbm +bbm +bdh +bef +nVz +gTx +tyX +xEB +aDt +aEO +aGc +vOU +gDO +dml +xYf +oNz +tnL +bxK +bwh +bAh +bBs +bzG +bAP +bCp +bDp +bFq +bGO +bHl +bHS +bLI +bOR +bQg +bQg +bQg +bQg +bQg +bQg +bQg +bQg +bQg +bYI +bDG +bHP +cbt +bVh +bXo +bYM +cfb +cfb +cfb +cfb +cfb +cfb +cfb +cig +cmN +cgR +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(115,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +eRz +eRz +eRz +eRz +eRz +eRz +eRz +eRz +eRz +eRz +aaT +eRz +aaf +aaf +aaT +gXs +abG +aaZ +aeZ +aco +agS +aho +ahX +afb +agH +agH +aip +aja +xTe +akz +alg +aaQ +aaQ +amN +aoZ +aaQ +anw +anz +cXU +apl +aqc +aqc +aqc +aqc +aqc +aqc +awm +axD +ahn +ahn +ahn +ahn +ahn +ahn +ahn +ahn +aJs +pQN +aMd +aNz +aOE +aPS +aRo +aSA +aTX +aVm +aWU +aYy +aZR +aZR +aZR +aZR +aZR +otC +wZI +gDO +aBW +bjy +aEP +nYe +ljV +bqG +uwQ +eih +pQN +owa +nbT +aNs +pQN +bBr +bCv +bCv +bCv +bCv +bCv +bJq +bKy +bLH +bRq +bNO +bQg +bRq +bTK +jVX +jVX +uHl +bUE +bWM +bXJ +bLK +bYH +bYH +bYH +bVg +bXn +bYG +cfb +cfF +cfb +cik +cjg +cjU +cfb +clM +cfz +cgR +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(116,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +gXs +gXs +gXs +gXs +aaa +gXs +aaa +aaf +aaa +aaf +ktS +abY +gXs +abG +aaZ +afc +aco +agU +ahp +ahY +afd +afd +ahB +aiq +ajb +mml +ajF +akN +akY +alE +amU +apH +aqt +aqC +anz +gfC +aod +aqf +ahT +ahT +ahT +ahT +ahT +awn +axF +anF +anF +anF +anF +anF +anF +anF +aoa +aJu +aKF +aMf +aNB +aOE +aPS +aRr +aSD +ceh +aVp +aWX +aYB +aZU +aZR +aZR +bbm +beh +bfx +dYl +kzn +hQX +iss +iss +lcx +wql +wql +wql +cmP +fPM +fTC +nbT +pQN +pQN +bBu +bCv +bAT +bDL +bDq +bCv +bJs +bKy +bLK +bLK +bOT +bQi +bRs +bSC +oXn +gxw +bUG +bVO +bWO +bXK +bLK +bZz +caw +bYH +bVo +bXq +bZe +cfb +cfH +cSL +cim +cim +ceo +cfb +cfa +cje +cgR +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(117,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +gXs +aaa +aaa +gXs +aaa +aaf +aaa +aaf +ktS +abp +abo +abp +abp +abp +abI +acM +adh +adM +afe +agI +ahQ +ait +aje +eFx +alj +afM +akZ +alM +amV +apc +aqr +aqC +anT +aoA +apn +aqe +ctq +ctq +ctq +ctq +ctq +ctq +ctq +ctq +ctq +dgz +dgz +dgz +dgz +dgz +dgz +aJn +aJn +pQN +pQN +aOE +aPS +aRq +aSC +aUa +aVo +aWW +aYA +aYz +bbn +bcg +aZU +beg +aYB +ktS +ktS +ktS +ktS +gXs +ktS +ktS +gXs +fxV +fxV +oGv +fxV +fxV +pQN +pQN +bBt +bCv +bDH +bFf +bGB +bCv +bJs +bKy +bLJ +bWR +bNP +bOS +bQh +bRr +bTL +rVN +bUF +bVN +bWN +jDr +bLK +bRi +bZy +cbu +bVm +bXp +bYO +cfc +cgO +ccj +cBM +cdU +cSZ +ckL +cmF +cje +cgR +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(118,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +gXs +aaa +aaa +gXs +aaa +aaf +aaa +aaf +ktS +abp +aaY +abJ +abR +abp +acq +ahX +adi +adP +ahK +ahK +ahR +aiv +adg +xSW +ajI +alC +ala +alN +amW +apv +aqt +aqF +anz +aoB +aod +aqe +ctq +aqa +atf +ctq +aqa +atf +ctq +aqa +atf +dgz +tqg +ujF +ujF +ujF +dgz +aaa +aJn +pQN +pQN +aOE +aPX +aRs +aSE +aUc +aVm +aWY +aYC +aYA +bbp +bbp +bfx +bbp +uZM +bmx +bmx +bmx +ktS +gXs +ktS +ktS +gXs +ktS +ktS +gXs +ktS +fxV +pQN +pQN +aXf +bCv +bDK +bFi +bGE +bCv +bJs +bKy +bLM +fKC +bNQ +bOV +bQk +bRt +bSD +bTM +bUH +bRt +bVQ +jDr +bYL +cew +bTh +cdt +bVq +bXI +bZg +bZD +cbq +ccl +cdm +cio +cjY +ceq +clQ +cje +cgR +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(119,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +gXs +gXs +gXs +aaf +aaf +aaf +aaf +gXs +abo +abk +abk +abk +abp +agq +agV +aaZ +aaZ +agX +aih +aaZ +aaZ +aaZ +xGQ +ajN +amc +alo +alY +ans +ary +aaQ +anA +anz +gfC +aod +aqe +ctq +apY +ate +ctq +apY +ath +ctq +apY +ath +dgz +fvY +dvc +dzi +vsM +dgz +aaa +aJn +aLY +aLY +aOG +aTQ +aTQ +aTQ +aUb +aVq +aWM +aYr +bmx +bbo +bch +bdi +bbw +bfy +bbw +bik +bmx +bmx +bmx +bmx +bmx +bsh +bsh +bsh +bsh +bsh +bsh +pQN +pQN +gnf +bCv +bDJ +bCt +bGD +bCv +bJs +bKy +bLL +bOd +bNQ +bOU +bQj +bOd +bMK +bRx +bTP +bVP +cbA +bWP +bLK +bRj +bTg +bUm +bVp +bXH +bUm +bZC +cbp +cck +cin +cjj +cjX +ckO +ckH +cja +cny +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(120,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaa +abp +afU +wlI +afU +abV +ags +ags +adj +afQ +afr +akc +aik +akh +abp +esL +aiG +amf +anr +aqN +arC +asq +aaQ +anA +anz +aoD +aod +aqe +ctq +aqn +ath +ctq +auw +ath +ctq +ayV +ath +dgz +aCd +qIw +gfD +woR +dgz +fxV +yeA +aMh +pQN +aOE +aJn +aaa +aTQ +aUe +aVs +aXa +aYD +aZX +baf +bdk +mRQ +bek +bfB +vde +bdk +bjF +blc +bmz +bnY +bpk +bqJ +bsj +btI +btd +bwr +bsh +aMm +pQN +bBv +cBy +bDM +bCw +bDr +bCy +bGP +bHn +cbz +bLN +bNS +bOX +bQm +bRv +bSC +bTN +bTP +diH +bWQ +bWQ +bWQ +bRm +bTj +caA +cer +ccs +bZu +cfb +cfb +cgS +ciq +cfb +cfb +cfb +clR +cgR +cgR +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(121,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaf +gXs +abo +afU +afU +afU +afU +afU +afU +adk +abo +afD +afU +aju +aki +akk +akq +lwN +amq +aaQ +amb +ant +aaQ +aaQ +anA +anz +aoC +aod +aqe +ctq +asd +atg +ctq +asd +awo +ctq +asd +aAb +dgz +iVU +aDK +vHj +eVC +dgz +aJv +khV +aMg +bHt +aOE +aJn +aaa +aTQ +aUd +aVr +aWZ +aYq +aZW +aZG +bej +bdj +bej +bfA +jfZ +bil +bej +blb +bmy +bnX +bpj +bqI +bsi +btH +btc +bwq +bsh +pQN +pQN +aXf +bCv +bAU +cAL +bFg +bFs +bJt +bKy +bLK +bLK +bNR +bOW +bQl +bRu +bSC +bTN +bUI +bVR +bWQ +bOO +bQe +bRk +bTi +caA +bVr +bXN +bZt +bZE +cbs +cCT +cdn +cej +cbs +ces +clN +ccm +ckF +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(122,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaa +abp +abl +abN +abN +abN +abN +acO +adl +aet +agy +aha +aah +afo +abp +agD +agF +gyr +alq +amd +anu +asb +aaQ +aqH +anz +aoF +apo +aqh +arh +asg +atj +aul +auR +atj +mps +tKk +atj +aAX +azc +atj +aFe +aul +aHT +aJy +aJy +aMj +pQN +aOE +aJn +aaa +aTQ +aTQ +aTQ +aXc +aTQ +bmx +baq +baQ +wcB +bcQ +bfC +eOu +bim +bjG +bmx +bmB +bnZ +bpl +bsh +bsl +btK +buW +bwt +bsh +aLY +aLY +bBx +bCv +apG +bFk +bDs +bCv +bJs +bHo +bLK +bLK +bLK +bOY +bQn +bSC +bMK +mOG +bUJ +bVS +bWQ +bXP +cBI +bRS +bTH +caA +bWh +cdt +bZA +cfh +cfM +cco +cdp +cel +cyM +ckT +cgU +cco +cgU +cgU +cis +cjN +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(123,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +gXs +gXs +gXs +gXs +aaf +aaf +aaf +aaf +abo +afU +abP +abS +abS +abS +acP +adm +afR +agx +abS +ahI +aiw +abp +vIo +ake +ame +aaQ +amg +anv +apQ +aaQ +anA +anz +aoE +aod +aqg +aun +asf +ati +auk +aux +avt +axL +bbl +azT +nZE +ker +aDG +aFd +auk +aHH +aJg +aKo +aLO +pQN +aOE +aJn +aaa +aaa +aTQ +aVt +aXb +aYo +bmx +bao +baP +asD +bcP +cBo +bbw +bbw +bbw +bmx +bmA +bmx +bmx +bsh +bsk +btJ +buV +bws +bsh +asY +pQN +byW +bCv +bAV +bCv +bCv +bCv +bJs +bKz +bLK +bML +bNT +smP +giT +bRw +bSF +daI +bTP +bRA +bWQ +bXO +bQq +bRo +bTG +caA +bVK +bYb +bZw +cap +ctR +ccn +cdo +cek +cig +cet +cfd +cfB +cfI +cgQ +cjS +cjN +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(124,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +abp +abn +abH +abn +abn +abn +abp +abp +abp +agA +afU +ahF +aiz +abp +akf +akJ +yhx +aaQ +aaQ +aaQ +aaQ +aaQ +anC +anU +anC +cSA +aqe +ctq +ctq +ctq +ctq +ctq +ltK +xAv +oHB +oHB +ruo +aAh +aAh +aAh +aAh +aAh +aAh +aAh +aLR +pQN +aOE +aJn +aaa +aaa +aTQ +aVd +aXe +aYp +bmx +bbv +bcm +bcm +bem +bfD +wxf +bfD +bjI +bmx +bmC +boa +bpm +bsh +bsn +btL +buY +buY +bsh +ftE +pQN +aXf +bCv +bDP +bCv +pbC +bHV +bJw +bKC +bLK +bMN +bNV +bOV +giT +bRw +bSF +daI +bUK +bVT +bWQ +bWQ +bWQ +bWQ +caD +bWQ +bLK +bLK +cey +bLK +cig +cig +cig +cig +cig +cig +cig +cig +cig +cig +cDl +cjN +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +cgI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(125,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaf +aaf +aaf +abq +abq +abq +abT +abW +abq +abq +aff +aeU +ajA +akd +adB +agl +uHp +agQ +agN +akw +alb +alG +amr +amY +amY +ajp +ajp +aoG +cSA +aqe +ctq +aqo +eQb +rgL +ctq +avv +awu +oHB +aAd +tkq +aAh +aDL +aAh +aGk +aAh +aJz +aAh +aLQ +pQN +aOE +aJn +aaa +aaa +fxV +aVu +aXd +aYE +bmx +bbu +bbw +bbw +bbw +bbw +bbw +bbw +bjH +bmx +bmx +bmx +bmx +bsh +bsm +btL +buX +buX +bsh +pQN +pQN +bBy +bzs +bDO +bFl +bWe +bHU +bJv +mFo +bBb +bVW +bOd +iql +bQj +bVP +cbA +fSO +kJE +ugp +ueZ +bXQ +cbA +bZF +ezF +hgG +ccv +cdw +cex +dEX +cbA +bQt +bLQ +dbb +bOh +bOh +bOh +bOh +bOh +cig +cDm +cjP +ckF +cDJ +ckF +cpE +cjR +crW +ciZ +wmu +aag +aaa +aaa +aaa +aaa +aaa +ctv +ctv +ctv +aaT +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(126,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +abq +adN +aeu +aez +aci +acs +acR +afh +afV +agB +ahd +ahI +akO +abp +ajj +ajP +aky +alc +alI +ams +amZ +amZ +cqQ +anW +aoH +cSA +aqe +ctq +asm +eQb +blU +avg +awp +axN +oHB +oHB +haM +aAh +aDQ +aAh +aGl +aAh +aBy +aAh +rqf +pQN +aOE +aJn +aaa +aaa +aJn +aVv +aXg +aYF +bmx +nZL +bcn +tgH +ben +bfE +bgX +bbw +bjJ +bld +bmD +cTD +bmD +bqK +bso +btN +buZ +buZ +bsh +byN +pQN +bBA +bCz +bDQ +bFn +bGJ +sKL +bJy +iUp +bLK +bMP +bIG +bJB +bKV +bRB +bSI +vQf +bUM +bVV +bVV +bVV +iVJ +bZG +bOd +bOd +bOd +bOd +bOd +bOd +bOd +cgW +cit +cph +ckb +ckV +clU +clU +bOh +cig +coZ +cgU +cgU +cDK +crw +cjO +cig +crX +ciZ +jiK +aag +aaa +aaa +aaa +aaa +aaa +aaT +aaT +aaT +aaT +aaa +aaa +aaa +aae +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(127,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaf +aaf +aaf +aaL +adO +acr +acQ +adn +agw +abq +afg +afU +afU +ahc +ahH +akR +abp +aji +ajO +akw +ajp +alH +amr +amY +amY +ajp +anV +ajo +cSA +aqe +ctq +ari +asu +mPk +aun +avR +xAv +ofU +oHB +sFW +aAh +gyQ +aGx +gyQ +gyQ +gyQ +aAh +aMm +pQN +aOE +aJn +aJn +aJn +aJn +aJs +aXf +aYk +bmx +bmx +bmx +bmx +bmx +bmx +bmx +bmx +bmx +bmx +bmx +bmx +bmx +bsh +bsh +btM +bsh +bsh +bsh +pQN +bHt +bBz +bzs +tBV +bFm +bGI +tBV +cBD +bKD +bLO +bMO +bIF +bOZ +bQp +alk +gAu +eqq +bOd +bOd +bOd +bOd +bYQ +bOd +bOd +bOd +bOd +bOd +dMj +cfi +bOd +cgV +bMQ +aaf +bQA +ckU +clT +cmU +bOh +cig +cpa +cjc +cqo +cDN +cjk +cjm +cig +cig +cig +cig +aag +aag +aag +aaa +aaa +aaa +aaa +aaa +aaa +eRz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(128,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aae +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaM +abr +abQ +abU +acj +acv +dJL +afj +afX +agC +ahf +aks +akS +abp +ajl +ajR +akw +ald +alJ +amt +ajp +ajp +ajp +anY +ajo +apq +aqe +ctq +ctq +ctq +ctq +ctq +ltK +axP +azb +aAi +uIO +aCn +xBk +hlS +aGm +aHV +gyQ +hIM +pQN +pQN +pQN +aJr +aJr +aJr +aJr +aJr +aXh +aYG +aZY +aYG +aYG +bdn +bep +aYG +aYG +aYG +aYG +ble +bmE +bmE +bpn +bqL +bsp +btO +bva +bwu +bwu +bwu +kPj +bBB +eBX +tBV +bFp +uFV +fvk +bJA +bKG +bLK +bMR +bIH +bJF +bVX +bRA +bTP +rTo +bOd +bOd +bOd +bOd +bYQ +bOd +bOd +bOd +bOd +bOd +jtj +jIj +bTO +cgY +ciu +bVu +ckb +ckW +clU +clU +bOh +cig +cig +cpI +ccw +cDN +cjl +cjQ +cjV +cig +aaf +aaf +aaf +aaf +aag +aaa +aaa +aae +aaa +aaa +aaa +eRz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(129,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aag +aaf +aaf +aaf +aaf +aaf +aaf +aaO +adQ +act +acu +acu +acF +abq +afi +afW +afW +ahe +ahJ +ais +abp +ajk +ajQ +akw +ajp +alH +amr +amY +amY +ajp +anX +ajo +app +aqi +ctq +ask +eQb +rgL +ctq +awq +axO +aza +kmw +xrN +aAh +aAh +exX +aAh +aAh +voT +aAh +aMo +aNC +pQN +pQN +pQN +pQN +pQN +pQN +pQN +pQN +aLY +pQN +bco +pQN +beo +pQN +pQN +pQN +pQN +pQN +pQN +pQN +pQN +aLY +pQN +bAk +pQN +pQN +pQN +pQN +bAj +pQN +aKG +tBV +bFo +bDA +bFt +bGQ +bHp +bLK +bMQ +bNY +bPa +bMQ +bRC +rdl +daq +bUN +bOd +bOd +bOd +bYQ +bOd +bOd +bOd +bOd +bOd +rmQ +lzt +apa +cgX +apF +aaf +bOh +bOh +bOh +bOh +bOh +cig +cpb +ciZ +cqp +cDN +cjT +cgR +crP +cig +aaa +aaa +aaa +aaf +aag +aaa +aaa +aaa +aaa +aaa +aaa +quT +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(130,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +abq +aes +aey +aeD +afs +acL +acS +afk +afZ +agE +ahh +ahM +aiC +abp +aiY +ajE +ajH +akn +ale +alD +ana +ana +fMp +amu +ajo +aps +aqk +ctq +aqo +eQb +aHw +avn +awv +axX +aze +oHB +flE +aAh +muv +gyQ +fOK +aAh +dTI +ujv +pQN +pQN +pQN +pQN +aRt +pQN +pQN +pQN +pQN +pQN +aLY +pQN +bcp +pQN +beq +pQN +bgY +pQN +pQN +pQN +bAi +oNz +oNz +bpC +bqN +aNr +pQN +pQN +bxL +byX +aXh +bmE +bCA +tBV +bCC +voZ +bFx +bGW +bKI +bLQ +bMT +bOb +bPd +cBF +bRD +rdl +daq +bUN +bOd +bOd +bOd +bYQ +bOd +bOd +bOd +cBJ +bOd +eus +bRy +bTP +cha +civ +cph +ckb +ckY +clW +clW +bOh +cig +cig +czg +cig +cDN +crh +crA +crR +crY +csi +aaa +aaa +aaf +aag +aaa +aaa +aaa +aaa +aaa +aaa +eRz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(131,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +abq +abq +abq +abq +abq +abq +abq +afg +afY +afY +ahg +ahL +aiu +abp +ajm +ajS +ajp +ajT +akA +amr +amY +amY +ajp +anV +ajo +apr +aqj +ctq +ark +asu +xPk +aun +awt +oHB +oHB +azX +aAZ +aCe +oTH +lPG +ncg +aCe +lfu +aAh +aJC +aJC +qMv +aQg +bYP +aJC +aQg +aJC +qMv +aQg +aJC +aJC +aHP +aHP +aHP +aeX +aeX +aeX +aeX +aeX +aeX +aeX +aeX +aeX +asT +asV +bJE +bwv +nEu +nEu +nEu +nEu +nEu +nEu +bCB +iVH +nEu +bvd +bKH +bLK +bMS +bTO +bPc +bQs +cez +ceA +bTT +bUN +bOd +bOd +bOd +lhQ +bOd +bOd +bOd +bOd +bOd +bTO +cez +bUL +cgZ +rdl +aaf +bQA +ckX +clV +cmV +bOh +cig +aaa +afp +aaa +cDN +cqY +cqY +cqY +cig +aaa +csl +aaa +aaf +aag +aaa +aaa +aaa +aaa +aaa +aaa +quT +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(132,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +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 +abo +aeB +afm +agb +agG +ahi +ahN +aix +abp +ajp +ajU +ajp +trb +ajp +amr +ajp +ajp +ajp +ajp +ajo +apt +aqm +ctq +ctq +ctq +ctq +ctq +awz +oHB +oHB +avG +aBA +aAh +aAh +aAh +aAh +aAh +aJC +aJC +fWi +adq +aQb +aPZ +aRu +kAH +fWi +tCa +aXi +hgO +baa +aJC +bcq +bcq +bcq +aeX +bha +bio +bgF +blf +bmF +bob +bnB +aeX +asU +asX +bJE +bwx +nEu +bwB +bxa +byZ +bzI +bAX +bCF +bDB +bFB +bvd +bKJ +bLR +bMV +bTP +eiZ +bQv +bRF +bSM +bVZ +bOd +bOd +bOd +bOd +bOd +bOd +bOd +bOd +bOd +bOd +bTP +bTO +bOe +chb +iIS +bVu +ckb +ckZ +clW +clW +bOh +cig +aaa +aaa +aaa +cDN +aaa +aaa +aaa +aaf +aaf +cso +aaf +aaf +aag +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(133,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aag +aag +aag +aag +aaf +aaf +aaf +aaf +abo +aeA +afl +aga +abp +ahj +abp +xJW +abp +ajo +ajo +ajo +ajo +ajo +ajo +ajo +ajo +ajo +aoa +ajo +apt +aql +wyE +wyE +wyE +wyE +avw +awy +lgX +lgX +qvf +wqF +aAh +wxk +qCw +fCJ +fiv +aJC +fWi +fWi +fWi +fxe +aPY +kAO +aRx +fWi +iTU +pqe +aPY +aZZ +aQg +bbz +bbz +bbz +aeX +bgZ +bin +bin +bjK +bkK +bkK +bkK +bpD +bqO +bLX +btf +bui +bvi +bww +bwZ +byY +bCD +ivJ +bCE +bFv +bFz +bvd +bKH +bLK +bMU +bOc +udT +omk +nTU +pUP +jBQ +agd +cCB +cCC +bOd +bOd +bOd +bOd +bOd +bOd +bOd +ccz +uQR +cfP +cfQ +ceA +aaf +bOh +bOh +bOh +bOh +bOh +cig +aaa +aaa +aaa +cDN +aaf +aaa +aaa +aaf +aaa +csn +aaa +aaf +aag +aaa +aaa +aaa +aaa +aaa +aaa +quT +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(134,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +acw +abp +abp +abp +abp +abp +lJC +aiX +abp +ahl +uHp +aic +ahT +ahT +ahT +ahT +ahT +ahT +ahT +alL +ahT +anb +ahT +ydM +anZ +apu +ctq +ctq +ctq +ctq +ctq +awA +axT +axW +aAl +cHf +tZp +wxk +xwB +lWD +dvb +aJC +nNF +fWi +fWi +wxT +moD +aQd +aQa +fWi +elh +wxT +uBa +bac +aJC +bbz +bbz +bbz +aeX +bhc +bip +alX +bjL +bkL +bmT +bnD +bpM +bqT +bFD +bJG +bJG +bvl +bwE +bxc +bzb +nEu +nEu +cpG +bDC +bId +bvd +bKH +bLK +bMX +omk +bPg +hQY +bRE +pCj +bPe +wvg +bOd +cCD +bOd +bOd +bOd +bOd +bOd +bOd +bOd +bTU +fPi +fHi +chd +bQy +cpP +ckc +clb +clY +clZ +bOh +aaa +aaa +aaa +aaa +cCQ +aaf +aaa +aaa +aaf +aaa +csn +aaa +aaf +aag +aaa +aaa +aaa +aaa +aaa +aaa +eRz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(135,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aag +acU +anF +adr +sXy +aeC +anF +agc +abp +ahk +aoJ +aib +aif +aif +aif +aif +aif +fpz +bkV +jKP +alK +aif +anc +anc +anD +aoI +ctq +aqo +asN +aur +avy +nSt +axS +azk +aAk +tvi +tZp +wxk +jqD +lWD +yfX +wII +aMu +kEJ +fWi +fWi +fWi +fWi +fWi +fWi +fWi +fWi +fWi +bab +aJC +bbz +bbz +ber +aeX +bhb +bip +bjO +bip +bmG +bip +bnC +bpF +bqS +brY +bwz +asG +nEu +bza +bxb +bdN +iRV +bAY +bCH +gfQ +bIc +bzK +bKH +bLK +bMW +oVN +bPf +bQx +bRH +vPQ +moS +kGv +bUS +cCE +bXU +bUS +vob +bUS +bXU +bUS +bUS +gMD +eyS +bUR +chc +bMQ +aaf +bQA +cla +cBP +cmW +bOh +aaa +aaa +czN +aaa +cCQ +aaf +aaa +aaa +aaf +aaa +csn +aaa +aaf +aag +aaa +aaa +aaa +aaa +aaa +aaa +fIs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(136,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aag +abp +abp +abp +abp +abp +mxn +abp +abp +ahn +ahn +ahn +uhm +ahn +aiA +ahn +odV +anE +aod +ahn +apx +ahn +ahn +ahn +ahn +ahn +ctq +oAB +eQb +aut +ctq +aXF +oHB +oHB +aAn +rqk +tZp +mcE +dsi +fgl +rZE +aJC +kgB +oDD +aQc +sLj +sLj +vcN +fWi +fWi +aQc +sLj +aQc +fWi +bbx +bbz +bbz +bbz +jaG +bhd +bis +bjR +bis +bmI +bod +bpt +aeX +bqV +bEe +bxQ +bBL +nEu +asM +bAl +bzH +bzS +bBc +bCJ +gZG +cCp +bvd +bKH +bLK +bMZ +cdx +bPi +bQz +bRJ +hxn +bTV +bUT +bWc +bWU +bXV +bYT +bZK +bUR +cbG +ccA +cdC +ceB +dAe +cez +chf +cix +cpP +ckd +clc +clZ +clZ +bOh +aaa +aaa +aaa +aaa +cCQ +aaf +aaa +aaa +aaf +aaf +cso +aaf +aaf +aag +aaa +aaa +aaa +aaa +aaa +aaa +eRz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(137,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aag +aag +aag +aag +aaf +aaf +aaf +aaf +abp +wdv +afp +wdv +abp +aaa +aaa +ahn +nQi +ahn +uei +ahn +grc +anE +aod +aoK +oyX +aqp +ahn +tzQ +pgf +gzf +eQb +eQb +eQb +lUS +aun +avz +oHB +oHB +aAn +jGW +tZp +tZp +dGa +tZp +tZp +aJC +aKq +oDD +aNF +hOv +oax +oxm +aSH +fWi +rmN +eJa +hSZ +fWi +aQg +bbz +bbz +bes +aeX +bfF +bir +bjQ +blh +aeX +aeX +aeX +aeX +bqU +bsq +bJE +bJE +nEu +nEu +nEu +nEu +nEu +nEu +bFu +jex +ofj +bvd +bKH +bLK +bLK +bOf +bPh +bQy +bRI +bSP +bPh +jzM +bRI +cCF +bPh +bQy +bRI +bQy +bPh +bQy +bRI +bSP +bVO +bLK +che +bLK +aaf +bOh +bOh +bOh +bOh +bOh +aaa +aaa +aaa +aaa +cCQ +aaf +aaa +aaa +aaf +aaa +csn +aaa +aaf +aag +aaa +aaa +aaa +aaa +aaa +aaa +eRz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(138,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaa +aaa +abp +aaa +aaa +aaa +abp +aaa +aaa +ahn +ahn +ahn +anF +ahn +eMs +anG +aoe +aoL +apy +aqq +ahn +qLR +oIW +arf +kmS +ast +eQb +auv +ctq +avA +axW +azo +aAp +uxY +aBC +aCt +aEA +lsS +kuw +aJC +eTA +oDD +aQc +aOJ +oIJ +unA +fWi +akH +aUg +bFC +hSZ +fWi +bbx +bbz +bbz +bet +bfH +aiP +wbE +ihR +wbE +bmJ +bof +bpu +bqP +bsy +bEe +rUe +ajv +bxN +bze +asL +rUe +bCG +bBd +bFw +bDD +bFJ +oQY +bKH +bzs +bRK +qJV +nJQ +qJV +vOV +qJV +nYT +eUW +bVv +cCG +cCH +cCI +cCJ +cCI +cCH +cCI +cCJ +cCI +cCP +bLK +chg +bLK +aaf +aoV +aoV +aaf +aaf +aaf +aoV +aoV +aoV +aoV +cCQ +aoV +aaa +aaa +aaf +aaa +csn +aaa +aaf +aag +aaa +aaa +aaa +aaa +aaa +aaa +quT +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(139,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +ahn +chO +ahn +ahn +khB +ahn +ahn +ahn +ahn +ahn +ctq +ctq +ctq +asd +ctq +ctq +ctq +ctq +hlV +oHB +azf +aAo +vyp +aBB +aBB +aBB +tZa +aIa +cNE +aKM +feG +aMu +feG +tif +aMu +aMu +aMu +jgA +oIJ +aQc +bad +bby +bbz +bbz +bet +bfG +bhe +bit +bjS +tCd +eRr +boe +bli +bpN +bqX +dcX +fNN +twE +twE +twE +twE +bzc +twE +bpP +bCK +bFy +bFF +oQY +bKH +bzs +fjU +bOh +bPj +bQA +bPj +bOh +bPj +bQA +bPj +bOh +bPj +bQA +bPj +bOh +bPj +bQA +bPj +bOh +cCQ +cCS +chg +cCS +aaf +aoV +aoV +aaf +aaf +aoV +aoV +aoV +aaa +aaa +cCQ +aoV +aaa +aaa +aaf +aaa +csn +aaa +aaf +aag +aaa +aaa +aaa +aaa +aaa +aaa +eRz +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(140,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +gJi +gJi +dFX +wWW +unR +lCo +ohq +wXl +iou +pkF +xZL +wig +str +rrM +clO +ahC +ahP +oZl +awB +att +azh +fHG +kqy +kxf +ufD +apC +aGI +aId +aJD +aKP +aMx +aMx +aQe +aOL +aMx +aMx +aMx +aMx +rqE +fWi +aZb +aJC +bbz +bbz +bet +bfG +bhe +ihR +bjU +blk +blk +boh +biu +bpO +bqY +bss +bfJ +bxQ +bvm +bDT +bxQ +rUe +bzU +bBe +bCS +bDE +bFK +oQY +bKH +bzs +fjU +bOh +bPl +bQB +bRL +bOh +bTX +bUV +bWd +bOh +bXX +bYV +bZL +bOh +cbI +ccC +cdD +bOh +cCQ +cCS +chg +cCS +bLK +bLK +bLK +gJi +aaa +aaa +aaa +aaa +aaa +aaa +cCQ +aaf +aaf +aaf +aaf +aaf +cso +aaf +aaf +aag +aaa +aaa +aaa +aaa +aaa +aaa +quT +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(141,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bvG +aaa +jdj +aaa +oyN +aaa +aaa +aaa +aaa +aaa +aaa +uEx +ulM +unR +unR +unR +unR +unR +unR +unR +jLT +veS +arm +fHG +aya +fHG +fHG +auB +atZ +azg +azp +fHG +aCu +qOc +apC +aGH +aIc +aJC +aKO +aMw +aNI +fWi +fWi +acN +acN +acN +acN +acN +fWi +fWi +aJC +bcr +bbz +bet +bfG +bhe +ihR +bjV +blj +bmK +bog +bog +bxQ +bsx +bsr +rUe +bwD +bxQ +bxQ +bAq +bJE +bog +bDW +bKR +bof +bof +oQY +bKH +bzs +fjU +bOh +bPk +sYm +bPm +bOh +bTW +bUU +bTW +bOh +bXW +bYU +bXW +bOh +cbH +ccB +cbH +bOh +cCG +tAH +iKV +vHo +iKV +iKV +eCm +fty +dCt +dCt +dCt +dCt +dCt +dCt +imk +aoV +aaa +aaa +aaf +aaa +csn +aaa +aaf +aag +aaa +aaa +aaa +aaa +aaa +aaa +quT +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(142,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +tqB +vae +aaa +vae +efO +aaa +aaa +aaa +aaa +aaa +aaa +uEx +azm +unR +qWV +con +oVo +con +con +unR +ujS +aqs +coh +fHG +fHG +fHG +fHG +pPi +fHG +ayb +hWd +fHG +aCv +mbU +apC +aGJ +aIe +aJC +aJC +aJC +aJC +aJC +aJC +aXj +aVy +aSY +aVy +xqG +acN +bah +aJC +bbz +bdo +beu +bvk +jiT +jiT +bjT +blm +bmL +boi +bpw +ium +bsx +btX +bJE +bwG +bxR +bxR +bJE +bJE +bzW +bqQ +bCR +bGR +bIj +oQY +bKH +bzs +fjU +bOh +bPm +bQC +bPm +bOh +bTW +bUW +bTW +bOh +bXY +bYW +bXW +bOh +cbH +ccD +cbH +bOh +aaf +bLK +chg +bLK +bLK +bLK +bLK +aag +aoV +aoV +aoV +aoV +aoV +aae +gXs +aoV +aaa +aaa +aaf +aaa +csn +aaa +aaf +aag +aaa +aaa +aaa +aaa +aaa +aaa +jAD +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(143,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gJi +gJi +gXs +gJi +gJi +aaa +aaa +aaa +aaa +aaa +aaa +uEx +stF +unR +con +con +con +con +con +unR +unR +qeA +ahm +fHG +fHG +fHG +fHG +pPi +fHG +ayb +hWd +fHG +sci +sEi +apC +aGJ +aIe +aka +aLU +aKQ +aNu +aJC +aaz +egt +aQc +aSZ +aQc +qaY +acN +fWi +aJC +bbz +bbz +bet +qnC +ihR +ihR +bgQ +bll +bxQ +bxQ +bpv +bxQ +bsx +btV +rUe +bwF +bxQ +bxQ +bAr +bJE +bzV +bqQ +boo +bxQ +bIi +oQY +bKH +bzs +fjU +bOh +bOh +bOh +bOh +bOh +bOh +bOh +bOh +bOh +bOh +bOh +bOh +bOh +bOh +bOh +bOh +bOh +xcl +wWi +kil +cCS +gXs +tSo +kcx +kcx +kcx +ciC +aoV +aoV +aoV +aoV +gXs +aoV +aaa +aaa +aaf +aaa +csn +aaa +aaf +aag +aaa +aaa +aaa +aaa +aaf +aaf +ctZ +ctZ +ctZ +ctZ +ctZ +aaf +aaa +aaf +cvF +aaf +aaa +aaa +aaf +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +cAU +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(144,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +dFX +lnk +unR +wQg +con +con +con +fyS +unR +unR +veS +ahs +sJI +ahO +fHG +eAJ +rvr +nLu +hcA +ryr +fHG +aCu +puh +apC +aGA +aHS +aJx +aJx +aMi +aNE +aOO +aQi +aRz +aSF +aQc +aQc +aXl +fWi +bai +aJC +bbz +bbz +bet +bfH +qTV +ihR +uBr +bln +bmM +boj +bJE +bxQ +qkC +btV +bJE +bwI +bxT +bxQ +bAt +bJE +bCM +bqQ +eZa +bxQ +bIl +oQY +bKH +bzs +bUr +qJV +qJV +qJV +qJV +qJV +qJV +qJV +qJV +qJV +qJV +qJV +qJV +caJ +caJ +caJ +caJ +caJ +eUW +cfj +cfU +maT +maT +ckf +maT +lKj +nzR +nFj +mfI +mfI +mfI +mfI +mfI +mfI +mfI +mfI +mfI +mfI +csM +mfI +mfI +ctd +mfI +mfI +mfI +mfI +vOC +ctZ +ctZ +cuo +cuA +cuM +ctZ +cvj +cvj +cvj +cvj +aaf +aaf +aaf +aaf +cvj +cvj +cvj +cvj +cvj +cvj +cvj +cva +cva +cva +cva +cva +cva +cva +cva +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(145,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +xLX +aaa +xLX +aaa +aaa +aaa +aaa +aaa +aaa +aaa +uEx +unR +unR +con +con +con +con +con +unR +iBv +lZK +fZm +jmV +epD +ghD +hBA +xbn +fHG +reA +lsk +xXi +jAN +jEc +apC +aGL +aHM +aJm +aKz +mjr +akt +aJC +aab +aRg +aQc +aac +aQc +aXk +fWi +fWi +aJC +bbz +bbz +bev +bfK +bhi +bhi +bhi +bfK +bfK +bfK +bJE +bKL +brf +btV +rUe +bwH +bxS +bzh +bAs +bJE +bCL +bxO +bxQ +bxQ +bIk +oQY +bKH +bzs +bzs +bzs +bPn +bPn +bPn +bzs +bzs +bPn +bPn +bPn +bzs +bzs +bPn +bPn +bPn +bzs +bzs +bzs +cfj +chk +cjp +chh +ciy +cke +cjr +pzG +uHc +aoV +aoV +aoV +aoV +aoV +aoV +aoV +aoV +aaa +aaf +aaa +csn +aag +aag +aag +aag +aaa +aaa +aaa +nFj +ctY +cuh +cun +cuz +cuL +cuY +cvj +cvs +cvD +cvj +cvj +cvj +cvj +cvj +cvj +cvX +cvX +cvX +cvX +cwq +cwq +cva +cva +cva +cva +cva +cva +cva +cva +cva +aaf +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(146,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aae +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +uEx +unR +kdO +con +con +uSC +con +con +akE +wHk +ewu +pQp +pQp +oqj +jBi +fpl +fpl +jBi +oDN +sEM +sEM +pRs +arj +apC +aGL +aIe +aJC +aKS +aMC +aJC +aJC +aJI +aJI +aSI +aJI +aVA +aJI +aYK +aJI +aJI +bcs +bbz +bbz +bfK +bhk +bix +bjX +blp +bmO +bhi +apI +bwz +brg +btZ +bJE +bwI +bxV +bzj +bAv +bJE +bCO +bxQ +bxQ +bxQ +bIn +oQY +bUZ +bLT +bLT +bLT +bLT +bLT +bLT +bLT +bLT +bUY +bWe +bWe +bWe +bWe +bWe +cdE +bAw +bzs +bAw +caK +uHc +ciB +ckh +chj +ciA +dQD +cjr +clh +uHc +aoV +aoV +aoV +aoV +aoV +aoV +aoV +aoV +aaa +aaf +aaa +csn +csD +cta +csD +cua +aaa +aaa +aaa +aaf +ctZ +cui +cuq +cuC +cuO +cuz +cvm +cvt +cvt +cvt +cvL +cvQ +cvX +cvX +cvX +cvX +cva +cva +cva +cva +cva +cva +cva +cva +cvx +cva +cva +cva +cva +cva +cva +aaf +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(147,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +uEx +unR +unR +con +con +con +con +con +unR +wHk +aqu +aro +aro +aro +aro +aro +aro +aro +aro +aro +aro +aCw +aaa +apC +aGL +aIg +aJH +aQc +aMB +aJC +aOP +aJI +aRA +aVz +aVz +aVz +aVz +aYJ +aJI +mNW +bbz +bbz +bbz +bfK +bhj +biw +bhs +bjM +bmN +bok +bpx +bpP +brf +bxQ +rUe +bwJ +bxU +bzi +bAu +bJE +bCN +bEa +pHl +bFA +bIm +bJD +bKK +bLS +bNc +bOj +bNc +bNc +bNc +bNc +bTY +bKH +bzs +bWV +bzs +bzs +bZM +cbJ +bWe +bWe +cfW +cfX +chk +chl +xud +chi +ciz +ciz +ckg +cmb +yan +cpO +cpQ +cpQ +cpQ +cpQ +czJ +aaf +aoV +aaa +aaf +aaa +csn +csD +csX +ctg +cua +cua +cua +cua +cua +ctZ +ctZ +cup +cuB +cuN +cuZ +cvj +cvj +cvj +cvj +cvj +cvP +cvj +cvj +cvj +cvj +cva +cva +cva +cva +cvp +cwv +cvr +cvp +cvl +cvr +cwv +cvp +cva +cva +cva +aaf +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(148,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +dFX +jMW +unR +wQg +con +con +con +fyS +unR +wHk +aqu +aro +aro +aro +aro +aro +aro +aro +aro +aro +aro +aCw +aaf +apC +aGL +aIe +bhr +bhr +bhr +bhr +bhr +aJI +aRC +aSK +aVz +ijO +aVz +aYL +aJI +bbz +bbz +bdq +bbz +bfK +bhl +biy +bjY +bjN +bkO +bmU +bnH +bqQ +bsx +bxQ +bJE +bJE +bxR +bxR +bJE +bJE +bog +bEd +bJE +bJE +bJE +bJE +bJE +bJE +bNd +bIJ +bPo +bQE +bRM +bOr +bTZ +bKH +bzs +bAw +bBR +bHX +bzs +bzs +bzs +ccF +cdG +ceE +grr +cfZ +cjr +cld +cjr +cjr +cjr +csq +xJC +nzR +cmd +cmd +cmd +aag +aag +aag +aag +aaa +aaf +csD +csO +csD +czk +cti +cua +cua +ctw +ctH +ctQ +cuc +cua +cua +cuE +cuQ +cua +cvj +cvw +cvw +cvG +cvM +cvS +cvZ +cvG +cvw +cvw +cvf +cwh +cwm +cwr +cvp +cwx +cwj +cwu +cAV +cAZ +cvl +cvl +cva +cva +cva +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(149,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +uEx +sth +unR +con +con +con +con +con +unR +wHk +aqu +aro +aro +aro +aro +aro +aro +aro +aro +aro +aro +aCw +aaa +apC +aGN +aIh +bhr +aKT +aMD +aNM +aOI +aJI +aRy +aSJ +aTM +aVB +aVz +aVz +baj +bbz +bbz +ugi +mvt +bfK +bfK +bfK +bfK +bfK +bfK +bfK +bnF +bqQ +bsx +bxQ +bfJ +bxQ +bxQ +bxQ +bxQ +bxQ +bzX +bBm +bJE +bGT +bIo +bJE +tRe +bLU +bNd +bII +bOr +bQD +bLY +bMa +bTZ +bKH +bzs +bAw +bXZ +bHX +bZN +caK +bzs +ccE +cdF +ceD +cfk +cfY +cjr +ckj +cle +cle +cle +cli +cme +cmY +cme +cop +cmd +cmd +cqs +aaa +aag +aaa +aaf +csD +csN +csV +ctb +cth +cua +ctr +ctu +ctG +ctP +cub +cua +cur +cuD +cuP +cvc +cvj +cvu +cvu +cvu +cvu +cvR +cvY +cwb +cvu +cvu +cva +cwg +cwl +cwr +cvl +cww +cwD +cvv +cvv +cAY +cBb +cBd +cva +cva +cva +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(150,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +uEx +wag +unR +con +con +voW +con +con +unR +wHk +aqu +aro +aro +aro +aro +aro +aro +aro +aro +aro +aro +aCw +aaf +apC +aGB +aIf +aJA +aKC +aKC +aKC +aON +aQk +aRD +aSM +aVD +aVE +aXm +aVz +juG +bbz +bbz +ugi +bbz +bfL +bhn +biz +biz +biz +hMs +bfL +bol +bqQ +bsx +bst +bfJ +bxQ +ajB +bwK +bxQ +bxQ +bxQ +btV +bJE +bGV +bIp +bJE +bKM +bLW +bNd +bOn +bOr +bOr +bRO +bSQ +bTZ +bUZ +bLT +bLT +bLT +bLT +bLT +caM +cbL +cbL +cdI +ceG +jGI +cgb +chn +ciE +cjv +clj +clj +cmf +nmZ +cna +cnC +cor +ciM +cpN +cqt +aaa +aag +aaa +aaf +csD +csU +csW +ctc +ctc +cto +ctt +cty +ctJ +ctT +cue +cul +cuu +cuG +cuS +cve +cvo +cvz +cvz +cvI +cvz +cvT +cBS +cwc +cvz +cwd +cwf +cwj +cwo +cwt +cwu +cwA +cAR +cAS +cvv +cBa +cBc +cBe +cva +cva +cva +cBf +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(151,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +uEx +tAC +unR +unR +unR +dCr +unR +unR +unR +iYE +aqu +aro +aro +aro +aro +aro +aro +aro +aro +aro +aro +aCw +aaa +apC +aGL +aHY +biC +iNn +aMk +aNK +aOM +aQj +aRB +aSL +aTN +cCq +aVz +cAg +bak +bbz +bbz +ugi +cBm +bfL +bhm +tNl +ttd +dkM +bkP +bmV +boc +bqW +brh +bua +bua +bua +bua +bua +bua +bxQ +bxQ +btV +bJE +bGU +bqQ +bJE +fTg +bLV +bNd +bOm +bPp +bQF +bNd +bSS +bUa +bNc +bNc +bOj +bNc +bNc +bZO +caL +aPR +ccG +cdH +ceF +jGI +cga +chm +ciD +cju +clf +cle +csr +cme +cmZ +cme +coq +cmd +cmd +cqs +aaa +aag +aaa +aaf +csD +ctb +csV +ctb +ctj +ctk +cts +ctx +ctI +ctS +cud +cuk +cus +cuF +cuR +cvd +cvn +cvy +cvy +cvH +cvy +cvy +cvy +cvy +cvy +cvy +cwe +cwi +cwn +cws +cwn +cwz +cwE +cvv +cvv +cvv +cvp +cvl +cva +cva +cva +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(152,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +dFX +xaB +mgF +mgF +mgF +vAl +meb +meb +meb +iMv +vmQ +pQp +pQp +pQp +grA +fpl +fpl +gbh +sEM +sEM +sEM +aCy +arj +apC +aGL +avI +aJK +aKV +aMF +aMl +aMF +aJI +aRG +aSO +aTO +cCq +aVz +aVz +qus +bbz +bbz +blg +bmX +hYd +beY +oJV +qSf +wJA +bkR +bfL +boo +bqQ +bhg +bua +bvn +bwL +bxX +brd +bua +bBJ +bxQ +bBn +bJE +bDF +bIr +bJE +bKN +bHT +bNd +bNd +bNd +bNd +bNd +bSU +bUb +bVa +bWf +bWX +bOP +bNd +bTZ +bKH +bzs +bzs +bzs +bzs +fiy +cfl +cfl +cfl +cjx +cfl +cfl +cfl +cfl +tXL +cmd +cos +cmd +czI +aag +aag +aag +aaa +aaf +csD +csD +csD +csD +cti +cuE +cua +ctA +cuy +ctV +cug +cua +cua +cuE +cuU +cua +cvj +cvw +cvw +cvJ +cvw +cvV +cwa +cvJ +cvw +cvw +cvb +cwk +cwp +cwr +cvp +cwC +cwn +cAT +cAW +cvl +cvl +cvl +cva +cva +cva +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(153,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aba +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaa +dFX +dFX +uEx +uEx +uEx +dFX +uEx +uEx +uEx +dFX +dFX +aaa +aaa +arj +fCx +avD +awC +ayb +eCr +jvd +cEo +xZD +vpY +apC +aGJ +avI +bhr +bhr +bhr +aNO +aOT +aJI +aRF +aSN +aVF +aVF +aVF +aYM +aoo +bbA +bbz +ugi +bbz +bfL +blr +bho +ecp +eiB +bkQ +bmW +bom +bIq +bri +bsu +brd +brd +bvo +bzl +bua +bzd +bxQ +btT +bCU +bCR +bqQ +bGX +bCR +edA +bNd +bIK +bPq +bLd +bNd +bST +bOr +bOr +bOr +bWW +bYa +bYX +bTZ +caN +cbM +cbM +cdJ +bzs +cfm +cgc +bAw +ciF +cjw +ckl +clk +clk +bAw +bzs +aaf +aaa +aaf +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +ctp +cua +ctz +ctK +ctU +cuf +cuf +cuv +cuH +cuT +cvg +cvj +cvj +cvj +cvj +cvj +cvU +cvj +cvj +cvj +cvj +cva +cva +cva +cva +cvp +cwB +cvr +cvp +cvl +cvr +cwB +cvp +cva +cva +cva +aaf +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(154,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaa +aaf +aaa +aaf +aaa +aaf +aaa +aaf +aaa +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +arj +auz +avC +vHz +aya +fHG +fHG +xkd +fHG +fHG +gOZ +aGJ +avI +aJL +aKX +bhr +bhr +bhr +aJI +aRH +aVz +aVz +aVH +aXn +aYN +aJI +bkU +bbz +ugi +bbz +bfL +bfL +kVj +bfL +bfL +bla +bmY +boq +boq +brj +bpE +btk +bum +bvq +bzn +bua +bBL +bxQ +bBC +bCV +bDN +bFM +btR +bDN +bIa +bIf +bIL +bOq +bLf +bRP +bSW +bMH +bNi +bOr +bWZ +bYd +bYY +bZP +caO +cbN +ccI +cdL +ceI +cfo +bAw +bAw +bAw +cjz +ceJ +clm +cmg +cnc +cnD +bzs +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +cua +ctF +ctM +ctX +cuf +cum +cuw +cuJ +cuW +cvi +cvq +cvC +cvC +cvC +cvN +cvW +cvX +cvX +cvX +cvX +cva +cva +cva +cva +cva +cva +cva +cva +cvA +cva +cva +cva +cva +cva +cva +aaf +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(155,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaa +ads +adS +aeG +aaa +ads +adS +aeG +aaa +ads +adS +aeG +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaf +aaf +alO +arj +arj +arj +pBp +gOZ +cVb +cVb +cVb +cVb +cVb +cVb +aGQ +aIk +aIp +aKW +aMG +aIp +aIp +aJI +aJI +aSP +aUh +aJI +aJI +ddM +aJI +aJI +bcq +blo +bcq +bfO +bhp +biB +ouf +nyi +cTO +bmZ +bpE +bpE +bpE +bpE +bti +bul +bvp +bzm +bua +bBK +bwz +bBw +bJG +bDI +bFL +bli +bKO +bHY +bNf +bOp +bPr +bQH +bNd +bSV +bSQ +bNh +bWg +bWY +bYc +bNd +bNd +bzs +bzs +bMb +cdK +ceH +cfn +cgd +ceJ +ccM +cjy +ceJ +cll +ccM +cnb +bHd +ceI +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +cua +ctE +ctL +ctW +cuf +cum +cuw +cuI +cuV +cvh +cvj +cvB +cvE +cvj +cvj +cvj +cvj +cvj +cvj +cvX +cvX +cvX +cvX +cwq +cwq +cva +cva +cva +cva +cva +cva +cva +cva +cva +aaf +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(156,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aae +aaa +aaa +aaa +aaS +aaf +ads +adT +aeG +aaa +ads +adT +aeG +aaa +ads +adT +aeG +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +gJi +alO +alO +arp +alO +anf +anf +anf +anf +anf +cVb +jbf +wrp +fnC +kPd +xiw +aGS +aIm +aIp +aKH +aMI +aIp +aOV +aOX +aOX +aSR +aUi +aVJ +aOX +aiJ +bal +bam +bbz +bmR +bmX +gaF +bhq +rWg +bkb +nyi +cTO +bmZ +bpH +bra +bsK +bpE +bpE +buq +bvt +bye +bua +bBN +bEi +bEi +bEi +bDU +bFO +bBN +bKR +bMc +bNd +bNd +bNd +bNd +bNd +bSX +bMI +bNk +bNU +bXb +bWi +bYZ +bZR +caQ +bzs +ccK +ccM +ceJ +ceJ +cgf +ceJ +ccM +ccM +ceJ +clo +cmi +cbQ +cnF +cot +csc +csm +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +cua +cua +cua +cua +cuf +cuf +cux +cuK +cuX +cuf +cvj +cvj +cvj +cvj +aaf +aaf +aaf +aaf +cvj +cvj +cvj +cvj +cvj +cvj +cvj +cva +cva +cva +cva +cva +cva +cva +cva +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(157,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaa +ads +adT +aeG +aaf +ads +adT +aeG +aaf +ads +adT +aeG +aaa +aaf +aaa +aaa +aaa +aaa +aaa +aaa +gJi +cyG +anf +anf +aqv +ayf +dce +uua +awE +tRB +cVb +vCb +wUY +khb +sxs +tal +aCI +aIj +aJB +aKD +aMs +aNL +aOQ +aQf +aRE +aSQ +aVI +aVI +aVI +aYO +aSR +bbB +bbz +bbz +bbz +kQa +tIE +dnW +jdE +nyi +cTO +bmZ +bpG +bqZ +brk +bsv +bsv +bun +bvr +bzo +bua +aFa +bCY +bEh +bCW +bDS +bFN +bBN +bKQ +bMb +bNd +bOr +bOt +bOr +bRQ +bOr +bSQ +bNj +bNs +bXa +bYa +bNd +bZQ +caP +cbO +ccJ +bLS +bLS +cfp +cge +aPR +ciG +bLS +ckm +cln +cmh +cnd +cnE +bPn +aoV +aoV +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaf +aaf +aaf +aaf +cuf +cuf +cuf +cuf +cuf +aaf +aaa +aaf +cvK +aaf +aaa +aaa +aaf +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +cAX +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(158,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +ads +adT +aeG +aaa +ads +adT +aeG +aaa +ads +adT +aeG +aaf +aaf +aaf +aaf +aaf +aaf +aaf +aaf +aag +alO +anf +anf +alO +mAH +jaF +apC +anf +aCG +cVb +cVb +cVb +cVb +cVb +wBd +aGC +aIl +axj +aia +aMy +aIp +nGf +aQm +fzd +fFA +fFA +aVK +jwH +aSR +aSR +bbB +bbz +bbz +bbz +nyi +nyi +nyi +bkd +nyi +cTO +bmZ +bpJ +brc +brd +bug +btl +but +bvw +bzq +bua +bBP +bCZ +bEk +bFG +bCY +bFP +bBN +bKQ +bMb +bNd +bOt +bOr +bOr +bRQ +bOr +bSQ +bWj +bOm +bXc +bYe +bNd +bZS +caR +bzs +ccL +ccM +ceL +ceJ +cgh +ceJ +ceJ +ccM +ceJ +cAe +cmj +cne +bHd +bPn +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(159,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaS +aaS +aaf +aaa +ads +adT +aeG +aaa +ads +adT +aeG +aaa +ads +adT +aeG +aaa +aaf +aaa +aaa +aaa +aaa +amw +aof +aof +aof +aof +apC +apC +apC +apC +apC +awF +aCG +apC +nhY +aBE +aCz +vEp +aCJ +aGT +aIn +aIp +aKI +aMt +aIp +aOW +aQm +coI +aSS +aUj +sJx +aSR +aYQ +cBg +bam +bbz +bbz +beE +bfS +biD +bfS +kQk +kQk +cTO +bmZ +bpI +brb +brd +buf +bvs +bur +bvp +bzp +bua +bBO +bCY +bEj +bCY +bGZ +bFE +bBN +bKS +bMd +bNd +bOs +bOt +bQJ +bRR +bOr +bSQ +bWj +bWj +bWj +bWj +bNd +bzs +bzs +bzs +bMb +bFr +ceK +ceJ +cgg +ccM +ccM +cjA +ceJ +ccM +cdN +bFr +cnG +bzs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(160,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaa +aaf +aaa +aaa +aaa +adV +aaa +aaa +aaa +adV +aaa +aaa +aaa +adV +aaa +aaa +aaf +aaa +amw +amw +amw +amw +aoh +aoN +apA +aof +arq +itK +atv +auD +apC +aoQ +cqM +ayg +ayg +ayg +aCA +aFn +aFp +aGW +anf +aIp +fGf +aMA +aIp +aOX +aQm +coI +aST +aUk +sJx +aSR +aYQ +bam +ssB +bbz +bbz +bbz +eUy +pkg +biE +kQk +tEL +cTO +bmZ +bpL +bre +bsN +bre +bvv +bur +bvp +bzr +bua +bBQ +bDa +bEl +bFH +bHb +bIw +bBN +jNT +bMb +bNd +bOt +bPu +bOr +bRQ +bOr +bSQ +bWj +bOm +bXc +bYe +bNd +bZU +caS +cbN +ccN +bHd +bzs +bzs +bKT +bAw +bAw +bFr +ceJ +ccM +ccM +cng +bzs +bzs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(161,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaf +abX +acx +acx +adt +adU +adU +adU +adU +adU +adU +adU +adU +adU +eaR +jIs +jIs +jIs +csg +ane +ane +cxN +aog +aoM +apz +aqw +arr +asw +asw +auE +apC +awG +auF +apC +apC +apC +apC +apC +aFo +aGV +aIp +aIp +aKL +aMz +aNQ +aOX +aQm +lva +nUV +nUV +gbd +aSR +aYR +ban +ikm +bbz +bbz +bez +bfS +vxz +laN +kQk +jbK +cTO +bmZ +bpK +brd +bpK +bpK +bvu +bux +bvy +bua +bua +bBN +bBN +bBN +bBN +bHa +bBN +bBN +bKB +bMb +bNd +bOr +bPt +bOr +bRQ +bSY +bMJ +bNl +bNW +bXd +bPu +bNd +bZT +bMb +bFr +ccM +cdN +bzs +cfq +bKT +bAw +ciH +bHd +bzs +bAw +cmk +cnf +bzs +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 +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(162,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaa +aaf +aaa +aaa +aaa +adX +aaa +aaa +aaa +adX +aaa +aaa +aaa +adX +aaa +aaa +aaf +aaa +amw +amw +amw +amw +aoi +aoO +apB +aqx +art +anf +anf +auF +apC +awH +auF +apC +aAr +aBF +apC +aaa +aFq +aGX +aIp +sHx +aKU +aME +aNN +aOR +aQh +aRI +aSU +aXo +aXo +aXo +iLJ +bap +ikm +bbz +bci +beB +kQk +kQk +kQk +kQk +gbT +bdr +bmZ +bua +bua +bua +bua +bua +buG +bvA +bua +bAw +bzg +bLS +bLS +bLS +cbQ +bLS +bLS +bKE +caU +bNc +bOj +bPw +bNc +bNc +bNc +bNc +bNc +bNc +bNc +bPw +bNc +bLS +caU +cbQ +cNY +cNY +cNY +cNY +cgj +cNY +cNY +chp +bzs +clp +bzs +bzs +bzs +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 +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(163,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aba +aaS +acy +aaa +ads +adW +aeG +aaa +ads +adW +aeG +aaa +ads +adW +aeG +aaa +aaf +aaa +aaa +aaa +aaa +amw +aof +aof +aof +aof +vCy +tkB +atw +auF +apC +aoP +auF +azr +jez +atw +apC +apC +aFo +aGV +aIp +aJO +aLd +aMN +aNQ +aOZ +aOX +aOX +rdG +aUz +aVM +aOX +aYT +bam +iuR +baR +bcb +bdl +cTJ +cHD +bgo +cTK +cTK +blq +cTS +cTK +bpQ +cTK +slk +btm +buy +bvz +bdO +bLT +bna +bLT +bLT +bLT +bDV +bLT +bLT +bHq +bMe +bIg +bIM +bLT +bLT +bLT +bLT +bLT +bLT +bLT +bLT +bLT +bLT +bLT +caT +cbP +ccO +cdO +cdO +cdO +cnH +czH +czT +czY +kfS +bAw +bAw +clp +aag +gJi +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(164,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +ads +adW +aeG +aaa +ads +adW +aeG +aaa +ads +adW +aeG +aaf +aaf +aaf +aaf +aaf +aaf +aaf +aaf +aaf +apC +aqy +anf +anf +aty +auF +apC +aAt +jZT +apC +apC +apC +apC +ayf +aFm +aGF +aIq +aIq +aIq +aIq +aIq +aIq +aIq +eSe +aIq +aIq +aIq +aIq +aXS +aIq +aIq +baZ +bck +bdm +bdP +cHE +bdP +bdP +bdP +bdP +bnc +boC +bpV +boC +boC +bto +buL +bvB +cbK +bxg +bzk +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bIs +bIN +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bDb +kfS +kfS +cQB +czY +kfS +bPn +bPn +bPn +aag +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(165,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaa +ads +adW +aeG +aaf +ads +adW +aeG +aaf +ads +adW +aeG +aaa +aaf +aaa +aaa +aaa +aaf +aaa +aaa +aaa +apC +anf +jez +apC +atx +auF +apC +auD +auF +apE +aAs +vbi +apC +aCG +aFr +aGE +aIo +aIo +aIo +aIo +aIo +aIo +aIo +aRK +aIo +aIo +aUx +aVL +aXR +aZc +aZc +baT +bcj +beC +bfT +cHF +biG +blw +blu +bnb +bfT +bor +bpS +bsO +bfV +btn +buH +byf +byf +byf +byf +bDb +bEm +bEm +bEm +bDb +bJH +bKW +bMg +bIh +bOx +bPx +bDb +bRT +aad +bEm +bDb +bRT +aad +bEm +bDb +bRT +aad +bEm +bDb +cfr +cho +bDb +aaa +kfS +cQB +czY +cOT +aaa +aaa +gXs +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(166,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaf +ads +adW +aeG +aaa +ads +adW +aeG +aaa +ads +adW +aeG +aaf +aaf +aaa +aaa +aaa +aaf +aaa +aaa +aaa +apC +anf +apC +apC +apE +auG +apC +iWx +auF +apE +anf +anf +noF +aCG +aDZ +aFu +aFu +aFu +aFu +aFu +aFu +aFu +mPE +aFu +mPE +aFu +aFu +aVO +ugi +bbz +bbz +bba +aXq +bfU +bhu +cHG +biI +bkh +biI +cHQ +bfT +boE +bpY +bsQ +bfV +btx +buU +byf +bzu +bAz +bzu +bDb +bEm +bEm +bEm +bIx +bJJ +bKY +bMi +bNo +bIP +bPA +bDb +bRU +aml +bEm +bDb +bRU +aop +bEm +bDb +bRU +aml +bEm +bDb +cgi +chq +ccQ +aaa +cOT +cQB +czY +cOT +aaa +aaa +gXs +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(167,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaa +ads +adY +aeG +aaa +ads +adY +aeG +aaa +ads +adY +aeG +aaa +aaS +aaf +aaf +aaf +aaf +aaf +aaf +aaf +apC +arA +anf +asx +anf +auF +apC +apC +auF +apC +apC +apC +aCB +aEB +aFs +bbE +aIr +bav +aLf +aNV +qfD +aRO +aQp +aRN +aIt +aUB +aFu +aVN +ugi +bar +bar +bbz +aXq +bfU +bhu +cHH +biH +cHN +blv +bls +bfT +boD +bpY +bsP +bfV +btw +buT +byf +bzt +bAy +bBS +bDb +bEm +bEm +cBz +bEm +bJI +bKX +bMh +bIt +bOx +bPz +bDb +bRU +amo +bEm +bDb +bRU +amo +bEm +bDb +bRU +amo +cBz +bDb +cgi +chq +ccQ +aaa +cOT +cQB +czY +cOT +aaa +gJi +gJi +gJi +gJi +gJi +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(168,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaa +aaf +aaa +aaf +aaa +aaf +aaa +aaf +aaa +aaf +aaa +aiS +aaa +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +apC +apC +apC +apC +dbU +auH +avF +awI +ayc +gcF +asw +asw +aCD +aEa +aFv +aGG +aIu +aJQ +aIt +aIt +qfD +aRO +aIt +aRN +aIt +aUB +aFu +aVZ +aXT +aFu +aFu +bcv +aXq +bfU +bhu +cHI +biJ +bhM +biJ +blx +bfT +boL +bpY +bsR +bfV +buo +bxf +byf +bzw +bAB +bBV +bDb +bEn +akK +akP +akP +akV +akW +alf +alm +aln +alr +bDb +bRW +amG +bUe +bDb +bWl +aoq +bYg +bDb +bZV +apw +cbS +bDb +cgl +chs +bDb +aaa +kfS +cQB +czY +kfS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(169,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aba +aaS +aaS +aaf +aaa +aaa +aaf +aaf +aaf +aaf +alO +aqz +aru +apC +anf +anf +avE +anf +anf +awD +anf +aty +aCC +aDZ +anf +aFu +aIs +aJP +vZR +aIt +hGH +aYW +aYW +aYW +aYW +aYW +aYW +aVY +aYY +bas +aFu +bbz +cBk +bbz +bht +cHJ +cHL +blw +bjP +blt +bfT +boG +bqa +cIe +bfV +buo +bvb +byh +bzv +bAA +bBU +bDb +bEm +bEm +bEm +bIy +bJK +bKZ +bMi +bIu +bIO +alx +bLe +bRV +amH +bUd +bIx +bRV +amH +bYf +bIx +bRV +amH +cbR +bDb +cgk +chr +bDb +aaa +kfS +cBN +czY +kfS +aaa +aaa +aaa +aaa +aaH +eFW +nwX +weM +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(170,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +alO +anf +anf +asy +anf +anf +apC +apC +rtU +apC +apC +apC +aCE +aDZ +aFu +aFu +aIw +aJS +pJR +aNP +esZ +aOS +aOS +aOS +aOS +aOS +aOS +aWb +aXU +bau +mPE +bbz +aXq +bbz +bfV +cHK +blA +blA +blA +blD +bfV +cHU +cHZ +cIf +bfV +btA +bxf +byf +bzy +bAD +bBX +bDb +bEm +bEm +bEm +bIx +bJM +bLc +bMi +bNo +bOx +alV +bQM +bMi +bOx +bRZ +bVj +bMi +bOx +bRZ +bZa +bMi +bOx +bRZ +cTY +cTZ +chu +ccQ +aaf +cOT +cQB +cAa +cOT +gXs +rnK +kWp +aaa +aaa +aaH +aaH +aaH +weM +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(171,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaa +aaa +aaa +aaf +aaf +alO +aqA +arz +apC +anf +anf +apC +awJ +anf +apC +aAv +tJS +aCE +aDZ +aFu +aHb +aIv +aVQ +aIt +aIt +qfD +aRO +aIt +aPd +aIt +aPb +adu +aXu +aYW +bat +bbD +bbz +aXq +beE +bfV +bhv +biK +bkk +blz +bly +bos +bpR +bqc +bsS +bfV +buo +bxf +byf +bzx +bAC +bBW +bDb +bEm +bEm +bEm +bDb +cTX +bLb +bMk +bNn +bIQ +alW +amh +ami +amP +anp +anx +anN +amP +anp +anx +anN +amP +aqG +aqS +aqS +ars +asr +asC +czQ +czU +czZ +cOT +aaa +gJi +aaH +aaH +aaH +aaH +aaH +aaH +eFW +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(172,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaa +aaa +aaa +apC +apC +apC +apC +apC +anf +anf +apC +hyY +anf +apE +anf +anf +aCE +aDZ +aFu +aHd +aIx +aJF +aQq +aNS +qfD +aRO +aIt +aPd +aIt +aPb +aIt +aXu +aYW +aVQ +mPE +bbz +aXq +bds +bfV +bhx +bsQ +bkm +cHO +blG +bsQ +cHV +cIa +bsQ +bfV +buo +bvc +byf +byf +byf +byf +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bMm +bNp +bOx +bMi +bQN +bRZ +bOx +bMi +bVk +bRZ +bOx +bMi +bZb +bRZ +bOx +bMi +cfy +cgn +cjB +ccQ +aaf +cOT +cgm +czY +cOT +gXs +rnK +kWp +kaq +aaH +aaH +aaa +aaa +kaq +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(173,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aae +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaa +aaa +apC +apD +aEl +anf +arx +anf +anf +apC +apC +atB +apC +apC +apC +aCF +aDZ +apC +aFw +aFw +aFw +aFw +aFw +aFu +aPf +aQq +aRP +pem +aIt +aIt +aWd +aXV +vsT +bbD +bbz +aXq +bbz +bfV +bhw +cHM +wWT +blB +blF +cHS +cHW +cIb +bsT +bfV +btP +bxf +byi +bzz +bAE +bBY +bDc +bEo +bFI +bHe +bIz +bIz +bDb +bMl +bIv +bIR +bPE +bLe +bRY +amQ +bUg +bIx +bWm +amQ +bUg +bIx +bZW +amQ +bUg +bDb +bDb +bDb +bDb +aaa +kfS +cgm +czY +kfS +aaa +aaa +aaa +kaq +kaq +eFW +aaH +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(174,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaa +alO +anf +anf +arw +nuw +uve +anf +apC +awL +anf +anf +apE +aBF +aCH +aED +aFy +aGO +aIB +aJJ +aKZ +aFw +aFu +aFu +mPE +aFu +aTc +aUD +aVS +aYW +aYW +bax +mPE +bbz +aXq +bbz +bfV +bfV +biO +bsQ +cHP +cHR +bsQ +bpT +bqd +bsQ +bfV +btS +bxf +byi +bwN +bAG +bCa +bDc +bEo +bIC +bEc +bIB +bIB +bDb +bMo +bNp +bOx +bPH +bDb +bSa +amT +bUh +bDb +bWn +aos +bYh +bDb +bZX +aqB +cbU +bDb +aaf +aaf +aaa +aaa +kfS +cgm +czY +kfS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(175,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +alO +aoQ +anf +arv +asz +atA +anf +apC +awK +anf +awD +apE +anf +aCk +aEC +aFx +aGM +aIy +aJG +cAz +aFw +gRZ +aPg +aQr +aFu +aTb +aIt +aLg +aYW +aYW +aUD +bbD +bbz +aXq +bbz +bfW +bhy +biN +bsQ +bni +blM +bsQ +cHX +cIc +bsQ +buj +buo +bve +byj +bwM +bAF +bBZ +bDc +bEp +bCX +bEc +bIA +bIA +bDb +bMn +bNp +bOz +bPG +bDb +bEm +amo +bRU +bDb +bEm +amo +bRU +bDb +bEm +amo +bRU +bDb +aaf +aaa +aaa +aaa +cOT +cgm +czY +cOT +aaa +aaa +aaa +aaa +gJi +gJi +gJi +gJi +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(176,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +apC +jkx +ayf +xAk +mHU +aFn +aFn +aBB +awM +ayg +ayg +ayg +ayg +aCl +aEe +aFw +aFw +aFw +aLo +aLb +aFw +xEE +aYW +aYW +aRQ +aIt +aUF +aLg +aYW +aYW +aVQ +mPE +bbz +aXq +bbz +bfX +bhz +biQ +bsQ +blC +bsQ +cHT +bsQ +cId +bsQ +bsw +btU +bxe +bvC +bzD +bxv +bCc +bDc +bEo +bDj +bDY +bIA +bIA +bDb +bMq +bNp +bOx +bPJ +bDb +bEm +ano +bRU +bDb +bEm +apb +bRU +bDb +bEm +ano +bRU +bDb +aaf +aaa +aaa +aaa +cOT +cgm +czY +cOT +aaa +aaa +aaa +aaa +gXs +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(177,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +nsA +nsA +nsA +nsA +qVP +nsA +nsA +atB +apC +apC +awx +aye +ayd +aAc +ayd +aCI +aEd +aFw +aHf +aIz +aJM +aLa +aFw +hsb +aYW +aQs +aFu +aTd +aUE +aVT +aYW +aYW +aZd +aFu +bbz +aXq +bbz +bfX +bhy +biP +bko +blE +bnj +bov +bpU +brq +bsW +buj +buo +bxf +byk +bzC +bAH +bCb +bDc +fbp +bDf +bEb +bGY +bGY +bDb +bMp +bNp +bOx +bPI +bDb +bEm +abz +bUi +bDb +bEm +abz +bUi +bDb +bEm +abz +bUi +bDb +aaf +aaf +aaa +aaa +cOT +cgm +czY +cOT +aaa +aaa +aaa +aaa +gXs +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(178,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +nsA +cQF +ndq +rIA +fBy +hRI +jaH +hHQ +feE +hHQ +kGJ +wHT +asA +apE +dPk +aCG +aEf +aFw +aGU +aIC +aJU +aLe +aFw +aCR +aCR +aCR +aCR +aCR +aCR +aCR +aWe +aWe +aCR +aCR +bcs +aXq +bbz +bfX +bfV +bfV +bfV +bfV +bfV +bfV +bpW +brs +bfV +bfV +buo +bxf +byk +byk +byk +byk +bDc +bDc +bJR +bEg +bDc +bDc +bLe +bMr +bNr +bIT +bJN +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bDb +bDb +kfS +kfS +kfS +kfS +kfS +czX +cAc +kfS +kfS +kfS +kfS +kfS +kfS +kfS +cOT +cOT +aag +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(179,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +wKe +ndq +ndq +ndq +ndq +oLl +asB +asB +asB +avo +awx +avH +asB +asB +asB +aCK +aEf +aFw +aHg +cBZ +aJT +aLc +aFw +tSm +aFz +aFz +aRR +aTe +aUG +aFz +baA +aXW +baz +mtU +bcx +aXq +bbz +bfY +bhA +biR +bkq +bjZ +bhA +boz +boM +boM +bsX +bsz +buo +bxf +boM +boM +boM +boM +bDd +bEq +bDl +bEf +bFQ +bHc +bHK +bIb +bID +bOA +bPK +bQO +bSb +bOu +bUj +bVl +bWo +bXh +bQZ +bTl +bZY +caX +bTl +bQZ +cdQ +cOe +kfS +czG +czR +czW +cAb +cko +clq +cmq +ciI +cnJ +cri +cOe +cOe +cBT +aag +gXs +gJi +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(180,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +wKe +ndq +ndq +ndq +ndq +qeb +asB +atD +auJ +asB +awQ +avK +azt +aAy +asB +aCN +aEf +aFw +aGY +aII +aJW +aMX +qUh +aFz +aPl +aQv +aPl +aTg +aUI +aTg +baA +aZf +xRa +bbF +bbz +aXq +bbz +bfX +bhB +bgp +bIb +bIb +blX +bow +bIb +bIb +bsZ +cdX +ceX +bvg +bvD +bvD +cBx +bzB +bAa +bBE +bDm +bEr +bFR +bHf +bHM +bFR +bIE +bJr +bJO +bWr +bWr +bWr +bUk +bVn +bWq +bXj +bYj +bZc +bTl +bTl +bTl +bQZ +bNB +ceM +ccU +cgo +czS +cOb +cAd +kfS +cOx +cBL +cOe +cvO +kfS +kfS +cOT +cOT +aag +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(181,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +nsA +ndq +ndq +ndq +ndq +ndq +asB +atC +auI +auI +awP +avJ +awO +awO +asB +aCM +aEg +aFw +aHi +aFw +aFw +aFw +aFw +aFz +aPk +aQu +aPk +aTf +aUH +aTf +baA +aZf +baA +bbF +bbz +aXq +bbz +bfZ +bhA +biS +bkr +blH +bnm +boy +bpX +brt +brm +bsA +bvH +bvf +brt +bwO +bxF +bzA +bzZ +boM +boM +boM +boM +boM +bHL +boM +boM +boM +bPK +bWr +bWr +bWr +bWr +bWr +bWp +bXi +bYi +bTl +bTl +caY +cbV +bQZ +blQ +cPA +cfs +cgm +abm +kfS +kfS +kfS +kfS +kfS +cOe +fup +csy +cko +cAf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(182,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +wKe +ndq +ndq +ndq +ndq +ndq +asB +atE +auI +auI +awT +avM +azv +aAA +asB +aCE +aEi +aFw +aHl +aID +vqE +aCR +qCR +aFz +baA +aQw +baA +baA +baA +baA +baA +lNB +baA +bbF +bbz +aXq +bbz +bga +boB +boB +boB +boB +boB +boB +boB +boB +btb +buo +bvJ +bvJ +bvJ +bwQ +bxW +byt +byt +bEt +bDn +bEz +bFS +bJT +bLh +bMs +bMs +bMs +bQZ +bQS +bSf +bWr +bWr +bWr +bWr +bXl +caZ +cba +bTl +cbc +bTl +bQZ +cdR +ceO +kfS +cgm +chw +ciK +cjC +ckp +cls +cmr +cOe +cOe +cou +kfS +aaf +aaf +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aae +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(183,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +wKe +ndq +ndq +ndq +ndq +ndq +asB +asB +asB +avL +awR +hiV +azu +aAz +asB +aCO +aEh +aCR +aCR +aCR +mzv +aCR +aML +aFz +baA +pXG +cdl +baA +baA +baA +baA +aZf +baA +bbF +bbz +aXq +bbz +bfX +bhC +biU +bks +blI +bnn +boA +bpZ +boB +bta +buo +bvJ +bCk +byo +aDH +bxP +bCf +byt +bEs +bGc +bHm +bGc +bEs +bEC +aaf +aaf +aaf +bQZ +bQR +bSe +bMf +bNe +bNm +bNX +bTf +bQZ +bTl +bTl +cbb +bTl +bQZ +cdR +ceN +kfS +cgp +chv +ciJ +cbf +diq +clr +bnt +cOe +cOe +bMB +cOT +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(184,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +nsA +lGV +ndq +pou +ndq +srG +asB +atG +auL +avN +axa +auI +azw +aAA +asB +aCQ +aEk +aFB +dsJ +rxF +aFB +qkn +aLr +aFB +aPn +aQy +aPn +aTi +aUK +aVU +aWg +aZf +baA +bbF +bbz +aXq +bbz +bfX +bhD +biV +bnp +boA +bnp +bng +boQ +brx +bro +buo +bvJ +bxj +byq +bwR +bxY +bCh +byt +bEv +bFU +bFU +bFU +bJV +bEC +bMu +bMu +bMu +bEC +bQU +bQU +bTl +bQU +bXr +bWr +bOw +bQZ +bQZ +bQZ +cka +bQZ +bQZ +bQZ +bQZ +bQZ +cgr +chx +kfS +kfS +kfS +clt +abm +cOe +cOe +bNA +cOT +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(185,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +nsA +nsA +nsA +nsA +nsA +nsA +asB +atF +auK +auJ +awS +auI +awO +awO +asB +aCP +aEj +aFA +aEj +aEj +aEj +aEj +aEj +aEj +aPm +aQx +aPm +aTh +aUJ +aTh +aXz +aZg +xRa +bbF +bbz +bdv +bbz +bgb +bhC +biU +bnp +blJ +bno +bnf +boP +bqf +brm +bsC +byt +bxi +byp +bzJ +bxY +bCg +byt +bEu +bFU +bFU +bFU +bJU +bEC +bMt +bNt +bNt +bEC +bQT +bSg +bTk +bSh +bXr +bWr +bOv +bYk +bYk +bZZ +cjW +bZZ +ccR +cdS +ceP +bQZ +cgq +chx +kfS +aaa +kfS +clt +abm +kfS +mJo +kfS +kfS +aaf +aaf +aaf +aaf +aaf +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(186,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aae +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaa +aaa +asB +atH +auM +avO +awU +ayj +azx +aAB +asB +aEm +aFz +aQA +aFz +aFz +aFz +aFz +aFz +aFz +aFz +aFz +aFz +aTj +aFz +aVV +aXB +aZh +baB +aCR +kYk +bdx +vHT +boB +boB +biX +bhV +bka +blZ +bnk +bpo +bqk +brp +bsD +byt +bxl +bys +bzM +bya +bCj +byt +bEx +bFU +bFU +bGl +bJX +bEC +bMw +cBE +bOE +bEC +bQV +coT +bTm +bUn +bXr +bWr +bOv +bYm +bYm +bZZ +ckN +bZZ +ccR +cdS +ceP +bQZ +cgt +chx +cOT +aaa +cOT +clt +abm +oEZ +cOe +cOe +kfS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(187,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaa +asB +asB +asB +asB +asB +asB +asB +asB +asB +aHk +aFz +bfb +aKe +aKe +aKe +aFz +kdF +aNX +aPo +aQz +aCR +aCR +aCR +aCR +aXy +aZe +aCR +aCR +bcy +bdw +beG +boB +bhE +bnp +bkv +blL +bnp +bnh +bnp +brx +bte +bup +byt +cBu +byr +bzL +bxZ +bCi +byt +bEw +bFU +bEL +bGk +bJW +bEC +bMv +bNu +bMv +bEC +bQT +bSi +bUn +bTl +bXr +bNZ +bOy +bZd +bYl +caa +ckM +cbW +ceQ +ceQ +ceQ +cft +cgs +chy +cOT +aaa +cOT +clt +abm +ttL +cOe +cOe +kfS +aaa +fIs +fIs +fIs +fIs +fIs +fIs +fIs +aaS +aaS +aba +aaS +aaS +aaS +aaS +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(188,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaa +atS +aaf +aoV +aoV +atS +aaf +aaf +aaf +asB +aCR +aEn +aCR +aKe +aKe +aKe +aFz +aCR +aCR +aCR +aCR +aCR +aTl +aUL +aVW +aXD +aZj +baD +bbG +aTk +bdy +beI +boB +bhF +bnp +bib +bki +bma +bnl +bpq +boB +bth +bus +byt +bxm +byu +bzN +byb +aGs +byt +bBF +bFU +oce +bGz +bJZ +kzT +bMx +bNw +bOF +fcG +bQW +bSj +bTn +bUo +bNq +bOk +bOB +bPs +bYo +bSc +bSc +cbd +ccT +bSc +bSc +cfu +cgu +chA +kfS +aaa +kfS +clt +abm +ajM +cOe +cOe +kfS +ktS +aaS +aaa +aaf +aaa +acy +aaa +aaf +aaa +aaf +aaa +aaf +aaa +aaf +aaa +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(189,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +atS +aoV +aoV +aoV +atS +aoV +aoV +aaf +gXs +aHm +aHn +dmX +aFz +aFz +aFz +aFz +aMZ +aNZ +aPp +aQB +aNa +aTk +aQE +aQE +aXC +aZi +baC +aQE +aQE +bdy +beH +boB +boB +boB +boB +boB +boB +boB +bpp +boB +brr +bsE +byt +byt +byt +byt +byt +byt +byt +bEy +bFU +bFT +bFU +bJY +bEC +bMv +bNv +bMv +rcD +wkN +wkN +wkN +wkN +wkN +lAB +lQG +bPb +bQG +lAB +wkN +wkN +wkN +bQZ +bQZ +bQZ +kfS +chz +kfS +kfS +kfS +clt +abm +cCt +cOe +cmo +kfS +aaa +aaS +aaa +cMQ +crB +cNa +aaa +cMQ +crB +cNa +aaa +cMQ +crB +cNa +aaa +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(190,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +atS +aoV +aoV +aoV +aaH +aoV +aoV +aaf +gXs +aHm +aJV +dmX +csT +kOL +mZx +xES +aMZ +aOb +aPr +biL +aRU +aQC +aQC +aQC +czO +aZl +baE +bbH +bcA +bdz +beJ +bge +bhH +biY +biY +biY +bmd +bnr +bpr +bgc +btj +buu +bvM +bxo +bqe +bzO +bzO +bzO +bqe +bEB +bFW +bFT +tOq +bFU +bLi +bMz +bNy +bOH +dvO +bQY +vzp +hRa +bUp +mNi +mRe +olr +bPL +cVK +uCn +eaI +cbZ +wkN +cmo +kfS +lZl +kfS +chC +ciL +cOe +cOe +clv +abm +kfS +kfS +kfS +kfS +aaa +aba +aaf +cMQ +crC +cNa +aaa +cMQ +crC +cNa +aaa +cMQ +crC +cNa +aaf +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(191,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +atS +aoV +aoV +aoV +aaH +aoV +aoV +aoV +gXs +aHm +aNY +aCR +dmX +dmX +dmX +dmX +aMZ +aOa +aVX +aZV +aRL +aTm +aTm +aTm +aWh +aZk +aTm +aTm +bcz +aTm +aTm +bgd +bhG +bhG +bhG +blO +bmc +bnq +bgc +bgc +bru +bsF +btY +bqe +bqe +bzO +bzO +bzO +bqe +bEA +bFV +bFT +bGA +bFU +bFU +bMy +bNx +bOG +wkN +uoB +bSk +bXs +bXs +lMg +qeQ +qeQ +bPF +bQI +bXs +sSW +cbY +wkN +cOe +kfS +kfS +kfS +ccp +cbf +cbf +cbf +clu +cmt +aaa +aaa +gXs +aaa +aaa +aaf +aaa +cMQ +crC +cNa +aaf +cMQ +crC +cNa +aaf +cMQ +crC +cNa +aaa +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(192,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaH +aoV +aoV +aoV +atS +aoV +aoV +aoV +gXs +aaf +aaa +aaf +aaa +aaa +aaa +aaf +aNa +aOd +aOU +tAS +aNa +aQE +aQE +aQE +brL +aQE +aQE +aQE +bcC +cBl +aQE +bgg +aNa +aaa +bky +bqh +bme +bnx +bqe +brA +brw +buw +bvO +bxq +byv +bzO +bAR +bzO +bqe +bED +bFX +bFT +bGF +bKa +bFU +bMA +bNz +bOI +wkN +bRa +cbe +bTp +vCt +bVs +suN +pCE +qoT +bZh +bXs +cbe +wvX +wkN +cOe +ceS +cae +kfS +ccq +cdq +cjE +ckr +clw +cmu +aaf +aaf +aaf +aaf +aaf +aaf +aaf +cMQ +crC +cNa +aaa +cMQ +crC +cNa +aaa +cMQ +crC +cNa +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(193,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +atS +aoV +aoV +aoV +atS +aoV +aoV +aoV +aaf +aaf +aaa +aaf +aaa +aaa +aaa +aaf +aNa +aOc +aPs +bHr +aNa +aPq +aQE +aQE +aXG +aZm +aQE +aPq +bcB +aPq +aQE +bgf +aNa +aaf +bky +blP +bns +boF +bqe +brz +brv +cBt +bvN +bxp +byv +bzO +bAQ +bCl +bqe +bEC +bEC +bEM +bGC +bEC +bEC +bEC +bEC +bEC +wkN +dMZ +bXs +vPE +bXs +bVt +dfh +jSO +jgm +oUh +vPE +bXs +bXs +wkN +cOe +ceR +cbf +cbv +uVS +cQw +cjD +cjD +cjD +cjD +cnj +aaa +gXs +aaa +aaa +aaf +aaa +cMQ +crC +cNa +aaa +cMQ +crC +cNa +aaa +cMQ +crC +cNa +aaa +aaf +aaS +aaS +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(194,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aae +aaa +atS +aoV +aoV +aoV +atS +aoV +aoV +aoV +aoV +aaf +aaa +aaf +aaf +aaf +aaf +aaf +aNa +aNa +aNa +aQF +aNa +aTn +aNa +aNa +aNa +aNa +aNa +cyp +aNa +bdA +aNa +aNa +aNa +aaa +bky +blR +bns +boF +bqe +brC +brv +buv +bvO +bxr +byv +bzO +bzO +bzO +bqe +bEF +bky +bEO +bGK +bKc +kfS +bMB +bNA +cmo +wkN +bUq +flc +wkN +wkN +wkN +wkN +wkN +wkN +wkN +wkN +jrE +saK +wkN +cOx +sLv +ckS +kfS +jVl +cds +cjD +ckt +cly +cmw +cnj +cnj +cnj +cnj +aaa +aaf +aaa +aaa +crD +aaa +aaa +aaa +crD +aaa +aaa +aaa +csZ +aaa +aaa +aaa +aaf +aaa +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(195,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aoV +aoV +aoV +atS +aoV +aoV +aoV +aoV +aaf +aaa +aaf +aaa +aaa +aaa +aaf +aaf +aaf +aNa +tAS +aNa +aQE +aNa +aaa +aaf +aaa +aNa +aQE +aNa +aQE +aNa +aaf +aaf +aaf +bky +btp +bns +boF +bqe +brB +brv +bsG +bvP +bqe +bqe +bzO +bzO +bzO +bqe +bEE +bFY +bEN +bGG +bKb +cNX +cNZ +cNZ +nyn +wkN +wkN +wkN +wkN +kPi +cOe +cae +oMT +wCQ +xzd +wkN +wkN +wkN +wkN +kfS +fkh +kfS +kfS +ccr +cdr +cjF +cks +clx +cmv +cnk +cnK +cnK +mQp +cpi +cpi +cqJ +vZA +crk +crk +crk +crk +crk +pTB +cqJ +vZA +crk +pTB +cpi +cpi +ctB +aaf +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(196,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aoV +aoV +aoV +aaf +aoV +aoV +aoV +aoV +aaf +aaa +aaf +aaa +aaa +aaa +aaf +aaf +aaa +aNa +tAS +aNa +aQE +aNa +aaf +aaf +aaf +aNa +aQE +aNa +aQE +aNa +aaa +aaf +gXs +bky +cyU +bns +boF +bqe +brD +brP +bsI +bvO +bxs +byw +bzO +bzO +bzO +bqe +bEG +bGa +bHs +bGL +bKd +cNY +bMC +lVy +jHt +bPO +kob +bSm +bTr +tyE +lkT +cUb +lkT +tyE +bTr +bTr +cbg +bTr +tyE +bTr +nGt +cbg +bTr +cct +cdu +cjG +cku +clz +cmx +cnj +cnj +cnj +cnj +aaa +aaf +aaa +aaa +crF +aaa +aaa +aaa +crF +aaa +aaa +aaa +vPs +aaa +aaa +aaa +aaf +aaa +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(197,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aoV +aoV +aoV +aoV +aaf +aoV +aoV +aoV +aoV +aaa +aaa +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aNa +aeR +aNa +aQE +aNa +aaf +aaa +aaf +aNa +aQE +aNa +afE +aNa +aaa +aaa +gXs +aaf +aaa +bns +boF +bqe +bqe +bry +bsH +bqe +bqe +bqe +bqe +bqe +bqe +bqe +bEG +bFZ +bEM +bIS +bEC +bEC +bEC +kfS +sOs +kfS +kfS +kfS +kfS +kfS +kfS +kfS +kfS +kfS +kfS +kfS +kfS +kfS +kfS +kfS +clt +kfS +wVN +kfS +abm +cjD +cjD +cjD +cjD +cnj +aaa +aaa +aaa +aaa +aaf +aaa +cMQ +crE +cNa +aaa +cMQ +crE +cNa +aaa +cMQ +crE +cNa +aaa +aaf +aaS +aaS +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(198,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaa +aaa +aaa +aaa +aaa +aNa +tAS +aNa +aQE +aNa +aaf +aaf +aaf +aNa +aQE +aNa +aQE +aNa +aaa +aaa +aaa +aaf +aaf +bns +boH +biY +brF +brQ +bsM +buz +buz +buz +buz +buz +cNU +buz +bEI +bFZ +bHu +bIV +bKf +bLk +bEC +qlY +nRG +xWs +xWs +xWs +xWs +xWs +xWs +xWs +bYr +qlY +kfS +cad +cbi +iyG +ccW +kfS +clt +kfS +wYn +kfS +gOF +gGK +lOr +kfS +gXs +aaf +aaf +aaf +aaf +aaf +aaf +aaf +cMQ +crE +cNa +aaa +cMQ +crE +cNa +aaa +cMQ +crE +cNa +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(199,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +avT +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aNa +cyh +aRW +aTo +aNa +aaa +aaf +aaa +aNa +aTo +aRW +cyr +aNa +aaa +aaa +aaf +aaf +aaf +bnu +bhG +bhG +bhG +bhG +bsJ +brE +bhG +bhG +bhG +bhG +cNV +bhG +bEH +bGb +cBA +bIU +bKe +bLj +bEC +qlY +cac +xgs +xgs +xgs +xgs +xgs +xgs +xgs +imZ +qlY +kfS +rSf +kfS +wly +ccV +noa +iQg +ccU +pcz +xgs +xgs +xgs +wfC +kfS +aaa +aaf +aaa +aaa +aaa +aaa +aaf +aaa +cMQ +crE +cNa +aaf +cMQ +crE +cNa +aaf +cMQ +crE +cNa +aaa +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aae +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(200,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +afa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +jIy +nJP +jIy +nJP +gXs +bky +kgk +brH +bvQ +bxt +cNT +bCm +bDh +bEC +ydD +bHv +bIW +bKe +vHY +bEC +qlY +xgs +hTt +xgs +rba +xgs +bPP +xgs +iQc +sMG +xWs +ccU +nnM +kfS +wuO +pDG +kfS +ceT +kfS +xgs +chH +chH +xgs +gcx +kfS +gXs +aaf +aaf +aaf +aaf +aaf +aaf +aaf +cMQ +crE +cNa +aaa +cMQ +crE +cNa +aaa +cMQ +crE +cNa +aaf +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(201,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +qtH +eXL +qXJ +eXL +vdo +bZi +bqg +oBQ +wqW +cNR +brG +brG +bDg +bEC +bGd +poc +rNc +bEC +bLm +bEC +qlY +xgs +fkW +xgs +hTt +xgs +mDZ +xgs +kfS +kfS +kfS +kfS +tTw +kfS +kfS +kfS +kfS +cPH +kfS +xgs +chH +chH +xgs +gcx +kfS +aaa +aaf +aaa +aaa +aaa +aaa +aba +aaa +cMQ +crG +cNa +aaa +cMQ +crG +cNa +aaa +cMQ +crG +cNa +aaa +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(202,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aae +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +eXL +vdo +vdo +vdo +vdo +bZi +btq +brI +bvR +cNS +byx +wkc +bky +bky +bEC +bGc +bGc +bEC +bLl +bEC +qlY +xgs +uzm +xgs +hTt +xgs +hTt +xgs +kfS +hbi +uqu +yaW +iky +kfS +mHA +ifJ +kfS +ceU +kfS +cgy +xgs +xgs +xgs +jdu +kfS +aaa +aaf +aaa +aaa +aaa +aaa +aaS +aaa +aaf +aaa +aaf +aaa +aaf +aaa +aaf +aaa +aaf +aaa +aaf +aaa +aba +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(203,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +bky +bky +bky +bky +bky +bky +bky +bky +aaf +gXs +gXs +gXs +aaf +aaa +kfS +qlY +xgs +hTt +xgs +hTt +xgs +hTt +xgs +kfS +pYQ +mLS +qIO +qSF +lUP +tTc +vxh +kfS +cOe +kfS +kfS +kfS +kfS +kfS +kfS +kfS +gXs +aaf +aaf +aaf +aaf +aaf +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(204,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaa +aaf +aaf +aaf +aaa +aaf +aaa +aaa +aaa +aaa +aaf +aaa +cOT +qlY +xgs +hTt +xgs +uzm +xgs +jLJ +xgs +kfS +ewN +qEB +nzB +xcz +cVw +jsO +flP +kfS +cPI +kfS +gXs +aaa +aaa +gXs +aaa +aaa +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 +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(205,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaa +aaa +aaf +aaa +aaa +aaf +aaa +aaa +aaa +aaa +aaf +aaa +cOT +qlY +xgs +mDZ +xgs +fkW +xgs +hTt +xgs +kfS +kfS +kfS +kfS +kfS +kfS +kfS +kfS +kfS +aag +aag +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(206,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaa +aaa +aaf +aaa +aaa +aaf +aaa +aaa +aaa +aaa +aaf +aaa +kfS +qlY +xgs +xgs +xgs +xgs +xgs +xgs +xgs +cOT +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aag +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(207,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaa +aaa +aaf +aaa +aaa +aag +aaa +aaa +aaa +aaa +aaf +aaa +kfS +qlY +qlY +qlY +qlY +qlY +qlY +qlY +qlY +cOT +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aae +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(208,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaa +aaa +aaf +aaa +aaa +aag +aaa +aaa +aaa +aaa +aaf +aaa +kfS +kfS +kfS +cOT +cOT +cOT +cOT +kfS +kfS +kfS +aaa +aaa +aaa +aaa +aae +aaa +aaa +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 +aae +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(209,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaa +aaa +aaa +aaa +aaa +aag +aaa +aaa +aaa +aaa +aaf +aaa +gXs +aaa +aaa +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(210,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaa +aaa +aaa +aaa +aaa +aag +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 +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(211,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaf +aaa +aaa +aaa +aaa +aag +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 +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(212,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cxn +aaa +aaa +aaa +aaa +aag +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 +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(213,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaa +aaa +aaa +aaa +aag +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 +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(214,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aag +aaa +aaa +aaa +aaa +aaf +aaa +aaf +aae +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(215,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +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 +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(216,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +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 +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(217,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(218,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aae +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(219,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(220,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(221,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(222,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(223,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(224,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaa +aaf +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 +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(225,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +bGf +bLo +bGf +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(226,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +bIX +bGf +bLn +bGf +bIX +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(227,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +bGf +bGf +bKh +bLo +bMD +bGf +bGf +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(228,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +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 +bGe +bGe +bIY +bKg +bKg +bKg +bND +bGe +bGe +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(229,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaf +bGf +bHw +bJa +bKg +bLp +bKg +bNF +bOJ +bGf +aaf +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(230,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +bGe +bGe +bIZ +bKg +bKg +bKg +bNE +bGe +bGe +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(231,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +bGf +bGf +bKi +bLr +bME +bNG +bNG +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(232,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +bIX +bGf +bLq +bGf +bIX +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(233,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +bGf +bGe +bGf +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +xUn +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(234,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaf +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(235,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaf +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(236,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(237,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(238,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(239,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(240,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +naI +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(241,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +naI +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(242,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +naI +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(243,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(244,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(245,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(246,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(247,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +naI +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +naI +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(248,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +naI +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(249,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(250,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(251,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(252,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(253,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(254,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} +(255,1,1) = {" +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +cNd +"} diff --git a/_maps/syndicatestation.dm b/_maps/syndicatestation.dm new file mode 100644 index 0000000000..69a8d426c7 --- /dev/null +++ b/_maps/syndicatestation.dm @@ -0,0 +1 @@ +#define FORCE_MAP "_maps/syndicatestation.json" diff --git a/_maps/syndicatestation.json b/_maps/syndicatestation.json new file mode 100644 index 0000000000..cb8eb70bd2 --- /dev/null +++ b/_maps/syndicatestation.json @@ -0,0 +1,11 @@ +{ + "map_name": "Syndicate Station", + "map_path": "map_files/SyndicateStation", + "map_file": "SyndicateBoxStation.dmm", + "shuttles": { + "cargo": "cargo_box", + "ferry": "ferry_fancy", + "whiteship": "whiteship_box", + "emergency": "emergency_box" + } +} diff --git a/code/__DEFINES/_click.dm b/code/__DEFINES/_click.dm new file mode 100644 index 0000000000..4118fb873d --- /dev/null +++ b/code/__DEFINES/_click.dm @@ -0,0 +1,2 @@ +//The button used for dragging (only sent for unrelated mouse up/down messages during a drag) +#define DRAG "drag" diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm index 00751f2cab..3024d9f4fe 100644 --- a/code/__DEFINES/antagonists.dm +++ b/code/__DEFINES/antagonists.dm @@ -75,6 +75,9 @@ GLOBAL_LIST_EMPTY(living_heart_cache) //A list of all living hearts in existance #define IS_HERETIC(mob) (mob.mind?.has_antag_datum(/datum/antagonist/heretic)) #define IS_HERETIC_MONSTER(mob) (mob.mind?.has_antag_datum(/datum/antagonist/heretic_monster)) +/// Checks if the given mob is a malf ai. +#define IS_MALF_AI(mob) (isAI(mob) && mob?.mind?.has_antag_datum(/datum/antagonist/traitor)) + #define PATH_SIDE "Side" #define PATH_ASH "Ash" diff --git a/code/__DEFINES/color/colors.dm b/code/__DEFINES/color/colors.dm index 664b8c0c0d..d88320d094 100644 --- a/code/__DEFINES/color/colors.dm +++ b/code/__DEFINES/color/colors.dm @@ -123,6 +123,8 @@ #define COLOR_THEME_OPERATIVE "#B8221F" #define COLOR_THEME_GLASS "#75A4C4" #define COLOR_THEME_CLOCKWORK "#CFBA47" +#define COLOR_THEME_TRASENKNOX "#3ce375" +#define COLOR_THEME_DETECTIVE "#c7b08b" ///Colors for eigenstates #define COLOR_PERIWINKLEE "#9999FF" @@ -188,10 +190,42 @@ #define CIRCUIT_COLOR_ENGINEERING "#F8D700" #define CIRCUIT_COLOR_SUPPLY "#C47749" -/// Colors for pride week +/// === LGBT Colors Start === +/// Black and white colors will not be covered for the flags that do have them. We'll just use COLOR_WHITE and COLOR_BLACK. +/// Colors for pride #define COLOR_PRIDE_RED "#FF6666" #define COLOR_PRIDE_ORANGE "#FC9F3C" #define COLOR_PRIDE_YELLOW "#EAFF51" #define COLOR_PRIDE_GREEN "#41FC66" #define COLOR_PRIDE_BLUE "#42FFF2" #define COLOR_PRIDE_PURPLE "#5D5DFC" + +/// Colors for transgender flag +#define COLOR_TRANS_BLUE "#5ACFFA" +#define COLOR_TRANS_PINK "#F5ABB9" + +/// Colors for lesbian flag +#define COLOR_LESBIAN_ORANGERED "#D62900" +#define COLOR_LESBIAN_SANDYBROWN "#FF9B55" +#define COLOR_LESBIAN_PALEVIOLETRED "#D462A5" +#define COLOR_LESBIAN_DARKMAGENTA "#A50062" + +/// Colors for bisexual flag +#define COLOR_BISEXUAL_MEDIUMVIOLETRED "#D70071" +#define COLOR_BISEXUAL_DARKORCHID "#9C4E97" +#define COLOR_BISEXUAL_DARKBLUE "#0035A9" + +/// Colors for intersex flag +#define COLOR_INTERSEX_GOLD "#FFD900" +#define COLOR_INTERSEX_DARKMAGENTA "#7A00AB" + +/// Colors for asexual flag +#define COLOR_ACE_DARKGRAY "#A4A5A4" +#define COLOR_ACE_PURPLE "#810081" + +/// Colors for pansexual flag +#define COLOR_PAN_DEEPPINK "#FF1B8D" +#define COLOR_PAN_GOLD "#FFD900" +#define COLOR_PAN_DODGERBLUE "#1BB3FF" + +/// === LGBT Colors End === diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 4477c8aee8..6b9fc0d6ba 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -196,18 +196,6 @@ #define COMSIG_ENTER_AREA "enter_area" //from base of area/Entered(): (/area) #define COMSIG_EXIT_AREA "exit_area" //from base of area/Exited(): (/area) -#define COMSIG_CLICK "atom_click" //from base of atom/Click(): (location, control, params, mob/user) -#define COMSIG_CLICK_SHIFT "shift_click" //from base of atom/ShiftClick(): (/mob), return flags also used by other signals. - #define COMPONENT_ALLOW_EXAMINATE 1 - #define COMPONENT_DENY_EXAMINATE 2 //Higher priority compared to the above one - -#define COMSIG_CLICK_CTRL "ctrl_click" //from base of atom/CtrlClickOn(): (/mob) -#define COMSIG_CLICK_ALT "alt_click" //from base of atom/AltClick(): (/mob) -#define COMSIG_CLICK_CTRL_SHIFT "ctrl_shift_click" //from base of atom/CtrlShiftClick(/mob) -#define COMSIG_MOUSEDROP_ONTO "mousedrop_onto" //from base of atom/MouseDrop(): (/atom/over, /mob/user) - #define COMPONENT_NO_MOUSEDROP 1 -#define COMSIG_MOUSEDROPPED_ONTO "mousedropped_onto" //from base of atom/MouseDrop_T: (/atom/from, /mob/user) - // /area signals #define COMSIG_AREA_ENTERED "area_entered" //from base of area/Entered(): (atom/movable/M) #define COMSIG_AREA_EXITED "area_exited" //from base of area/Exited(): (atom/movable/M) diff --git a/code/__DEFINES/dcs/signals/signals_action.dm b/code/__DEFINES/dcs/signals/signals_action.dm new file mode 100644 index 0000000000..62eccf2823 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_action.dm @@ -0,0 +1,6 @@ +/// From base of /datum/action/cooldown/proc/PreActivate(), sent to the action owner: (datum/action/cooldown/activated) +#define COMSIG_MOB_ABILITY_STARTED "mob_ability_base_started" + /// Return to block the ability from starting / activating + #define COMPONENT_BLOCK_ABILITY_START (1<<0) +/// From base of /datum/action/cooldown/proc/PreActivate(), sent to the action owner: (datum/action/cooldown/finished) +#define COMSIG_MOB_ABILITY_FINISHED "mob_ability_base_finished" diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm new file mode 100644 index 0000000000..9b32abf0c9 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm @@ -0,0 +1,2 @@ +///from base of atom/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) +#define COMSIG_ATOM_HITBY "atom_hitby" diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.dm new file mode 100644 index 0000000000..2b0c9c297e --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.dm @@ -0,0 +1,25 @@ +// mouse signals. Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +///from base of client/Click(): (atom/target, atom/location, control, params, mob/user) +#define COMSIG_CLIENT_CLICK "atom_client_click" +///from base of atom/Click(): (atom/location, control, params, mob/user) +#define COMSIG_CLICK "atom_click" +///from base of atom/ShiftClick(): (/mob) +#define COMSIG_CLICK_SHIFT "shift_click" + /// Allows the user to examinate regardless of client.eye. + #define COMPONENT_ALLOW_EXAMINATE (1<<0) + /// Higher priority compared to the above one + #define COMPONENT_DENY_EXAMINATE (1<<1) +///from base of atom/CtrlClickOn(): (/mob) +#define COMSIG_CLICK_CTRL "ctrl_click" +///from base of atom/AltClick(): (/mob) +#define COMSIG_CLICK_ALT "alt_click" +///from base of atom/CtrlShiftClick(/mob) +#define COMSIG_CLICK_CTRL_SHIFT "ctrl_shift_click" +///from base of atom/MouseDrop(): (/atom/over, /mob/user) +#define COMSIG_MOUSEDROP_ONTO "mousedrop_onto" + #define COMPONENT_NO_MOUSEDROP (1<<0) +///from base of atom/MouseDrop_T: (/atom/from, /mob/user) +#define COMSIG_MOUSEDROPPED_ONTO "mousedropped_onto" //from base of atom/MouseDrop_T: (/atom/from, /mob/user) diff --git a/code/__DEFINES/dcs/signals/signals_global.dm b/code/__DEFINES/dcs/signals/signals_global.dm new file mode 100644 index 0000000000..3e0e1d2296 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_global.dm @@ -0,0 +1,2 @@ +/// a person somewhere has thrown something : (mob/living/carbon/carbon_thrower, target) +#define COMSIG_GLOB_CARBON_THROW_THING "!throw_thing" diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm new file mode 100644 index 0000000000..e6c3464ff7 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm @@ -0,0 +1,2 @@ +/// from mob/proc/dropItemToGround() +#define COMSIG_MOB_DROPPING_ITEM "mob_dropping_item" diff --git a/code/__DEFINES/hud.dm b/code/__DEFINES/hud.dm index 88cba1c449..13882afb77 100644 --- a/code/__DEFINES/hud.dm +++ b/code/__DEFINES/hud.dm @@ -1,9 +1,235 @@ //HUD styles. Index order defines how they are cycled in F12. -#define HUD_STYLE_STANDARD 1 //Standard hud -#define HUD_STYLE_REDUCED 2 //Reduced hud (just hands and intent switcher) -#define HUD_STYLE_NOHUD 3 //No hud (for screenshots) +/// Standard hud +#define HUD_STYLE_STANDARD 1 +/// Reduced hud (just hands and intent switcher) +#define HUD_STYLE_REDUCED 2 +/// No hud (for screenshots) +#define HUD_STYLE_NOHUD 3 -#define HUD_VERSIONS 3 //Used in show_hud(); Please ensure this is the same as the maximum index. +/// Used in show_hud(); Please ensure this is the same as the maximum index. +#define HUD_VERSIONS 3 +// Consider these images/atoms as part of the UI/HUD (apart of the appearance_flags) +/// Used for progress bars and chat messages +#define APPEARANCE_UI_IGNORE_ALPHA (RESET_COLOR|RESET_TRANSFORM|NO_CLIENT_COLOR|RESET_ALPHA|PIXEL_SCALE) +/// Used for HUD objects +#define APPEARANCE_UI (RESET_COLOR|RESET_TRANSFORM|NO_CLIENT_COLOR|PIXEL_SCALE) + +/* + These defines specificy screen locations. For more information, see the byond documentation on the screen_loc var. + + The short version: + + Everything is encoded as strings because apparently that's how Byond rolls. + + "1,1" is the bottom left square of the user's screen. This aligns perfectly with the turf grid. + "1:2,3:4" is the square (1,3) with pixel offsets (+2, +4); slightly right and slightly above the turf grid. + Pixel offsets are used so you don't perfectly hide the turf under them, that would be crappy. + + In addition, the keywords NORTH, SOUTH, EAST, WEST and CENTER can be used to represent their respective + screen borders. NORTH-1, for example, is the row just below the upper edge. Useful if you want your + UI to scale with screen size. + + The size of the user's screen is defined by client.view (indirectly by world.view), in our case "15x15". + Therefore, the top right corner (except during admin shenanigans) is at "15,15" +*/ + +/proc/ui_hand_position(i) //values based on old hand ui positions (CENTER:-/+16,SOUTH:5) + var/x_off = -(!(i % 2)) + var/y_off = round((i-1) / 2) + return"CENTER+[x_off]:16,SOUTH+[y_off]:5" + +/proc/ui_equip_position(mob/M) + var/y_off = round((M.held_items.len-1) / 2) //values based on old equip ui position (CENTER: +/-16,SOUTH+1:5) + return "CENTER:-16,SOUTH+[y_off+1]:5" + +/proc/ui_swaphand_position(mob/M, which = 1) //values based on old swaphand ui positions (CENTER: +/-16,SOUTH+1:5) + var/x_off = which == 1 ? -1 : 0 + var/y_off = round((M.held_items.len-1) / 2) + return "CENTER+[x_off]:16,SOUTH+[y_off+1]:5" + +//Lower left, persistent menu +#define ui_inventory "WEST:6,SOUTH:5" + +//Middle left indicators +#define ui_lingchemdisplay "WEST,CENTER-1:15" +#define ui_lingstingdisplay "WEST:6,CENTER-3:11" + +#define ui_devilsouldisplay "WEST:6,CENTER-1:15" + +//Lower center, persistent menu +#define ui_sstore1 "CENTER-5:10,SOUTH:5" +#define ui_id "CENTER-4:12,SOUTH:5" +#define ui_belt "CENTER-3:14,SOUTH:5" +#define ui_back "CENTER-2:14,SOUTH:5" +#define ui_storage1 "CENTER+1:18,SOUTH:5" +#define ui_storage2 "CENTER+2:20,SOUTH:5" +#define ui_combo "CENTER+4:24,SOUTH+1:7" // combo meter for martial arts + +//Lower right, persistent menu +#define ui_drop_throw "EAST-1:28,SOUTH+1:7" +#define ui_pull_resist "EAST-2:26,SOUTH+1:7" +#define ui_movi "EAST-2:26,SOUTH:5" +#define ui_sprintbufferloc "EAST-2:26,SOUTH:18" +#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-5:20,SOUTH:5"//CIT CHANGE - moves this over one tile to accommodate for combat mode toggle +#define ui_building "EAST-5:20,SOUTH:21"//CIT CHANGE - ditto +#define ui_language_menu "EAST-5:4,SOUTH:21"//CIT CHANGE - ditto +#define ui_voremode "EAST-5:20,SOUTH:5" + +//Upper-middle right (alerts) +#define ui_alert1 "EAST-1:28,CENTER+5:27" +#define ui_alert2 "EAST-1:28,CENTER+4:25" +#define ui_alert3 "EAST-1:28,CENTER+3:23" +#define ui_alert4 "EAST-1:28,CENTER+2:21" +#define ui_alert5 "EAST-1:28,CENTER+1:19" + +//Upper left (action buttons) +#define ui_action_palette "WEST+0:23,NORTH-1:5" +#define ui_action_palette_offset(north_offset) ("WEST+0:23,NORTH-[1+north_offset]:5") + +#define ui_palette_scroll "WEST+1:8,NORTH-6:28" +#define ui_palette_scroll_offset(north_offset) ("WEST+1:8,NORTH-[6+north_offset]:28") + +//Middle right (status indicators) +#define ui_healthdoll "EAST-1:28,CENTER-2:13" +#define ui_health "EAST-1:28,CENTER-1:15" +#define ui_internal "EAST-1:28,CENTER+1:19"//CIT CHANGE - moves internal icon up a little bit to accommodate for the stamina meter +#define ui_mood "EAST-1:28,CENTER-3:10" +// #define ui_spacesuit "EAST-1:28,CENTER-4:10" + +//Pop-up inventory +#define ui_shoes "WEST+1:8,SOUTH:5" +#define ui_iclothing "WEST:6,SOUTH+1:7" +#define ui_oclothing "WEST+1:8,SOUTH+1:7" +#define ui_gloves "WEST+2:10,SOUTH+1:7" +#define ui_glasses "WEST:6,SOUTH+3:11" +#define ui_mask "WEST+1:8,SOUTH+2:9" +#define ui_ears "WEST+2:10,SOUTH+2:9" +#define ui_neck "WEST:6,SOUTH+2:9" +#define ui_head "WEST+1:8,SOUTH+3:11" + +//Generic living +#define ui_living_pull "EAST-1:28,CENTER-2:15" +#define ui_living_health "EAST-1:28,CENTER:15" +#define ui_living_healthdoll "EAST-1:28,CENTER-1:15" + +//Monkeys +#define ui_monkey_head "CENTER-5:13,SOUTH:5" +#define ui_monkey_mask "CENTER-4:14,SOUTH:5" +#define ui_monkey_neck "CENTER-3:15,SOUTH:5" +#define ui_monkey_back "CENTER-2:16,SOUTH:5" + +//Drones +#define ui_drone_drop "CENTER+1:18,SOUTH:5" +#define ui_drone_pull "CENTER+2:2,SOUTH:5" +#define ui_drone_storage "CENTER-2:14,SOUTH:5" +#define ui_drone_head "CENTER-3:14,SOUTH:5" + +//Cyborgs +#define ui_borg_health "EAST-1:28,CENTER-1:15" +#define ui_borg_pull "EAST-2:26,SOUTH+1:7" +#define ui_borg_radio "EAST-1:28,SOUTH+1:7" +#define ui_borg_intents "EAST-2:26,SOUTH:5" +#define ui_borg_lamp "CENTER-3:16, SOUTH:5" +#define ui_borg_tablet "CENTER-4:16, SOUTH:5" +#define ui_inv1 "CENTER-2:16,SOUTH:5" +#define ui_inv2 "CENTER-1 :16,SOUTH:5" +#define ui_inv3 "CENTER :16,SOUTH:5" +#define ui_borg_module "CENTER+1:16,SOUTH:5" +#define ui_borg_store "CENTER+2:16,SOUTH:5" +#define ui_borg_camera "CENTER+3:21,SOUTH:5" +#define ui_borg_alerts "CENTER+4:21,SOUTH:5" +#define ui_borg_language_menu "CENTER+4:21,SOUTH+1:5" #define ui_borg_pda_send "CENTER+5:21,SOUTH:5" // To the right of the alert panel #define ui_borg_pda_log "CENTER+6:21,SOUTH:5" +#define ui_borg_sensor "CENTER-6:16, SOUTH:5" //LEGACY +#define ui_borg_thrusters "CENTER-5:16, SOUTH:5" //LEGACY + +//Aliens +#define ui_alien_health "EAST,CENTER-1:15" +#define ui_alienplasmadisplay "EAST,CENTER-2:15" +#define ui_alien_queen_finder "EAST,CENTER-3:15" +#define ui_alien_storage_r "CENTER+1:18,SOUTH:5" +#define ui_alien_language_menu "EAST-3:26,SOUTH:5" + +//Constructs +#define ui_construct_pull "EAST,CENTER-2:15" +#define ui_construct_health "EAST,CENTER:15" + +//AI +#define ui_ai_core "BOTTOM:6,RIGHT-4" +#define ui_ai_shuttle "BOTTOM:6,RIGHT-3" +#define ui_ai_announcement "BOTTOM:6,RIGHT-2" +#define ui_ai_state_laws "BOTTOM:6,RIGHT-1" +#define ui_ai_pda_log "BOTTOM:6,RIGHT" +#define ui_ai_pda_send "BOTTOM+1:6,RIGHT" +#define ui_ai_language_menu "BOTTOM+1:8,RIGHT-2:30" + +#define ui_ai_crew_monitor "BOTTOM:6,CENTER-1" +#define ui_ai_crew_manifest "BOTTOM:6,CENTER" +#define ui_ai_alerts "BOTTOM:6,CENTER+1" + +#define ui_ai_view_images "BOTTOM:6,LEFT+4" +#define ui_ai_camera_list "BOTTOM:6,LEFT+3" +#define ui_ai_track_with_camera "BOTTOM:6,LEFT+2" +#define ui_ai_camera_light "BOTTOM:6,LEFT+1" +#define ui_ai_sensor "BOTTOM:6,LEFT" +#define ui_ai_multicam "BOTTOM+1:6,LEFT+1" +#define ui_ai_add_multicam "BOTTOM+1:6,LEFT" +#define ui_ai_take_picture "BOTTOM+2:6,LEFT" + + +// pAI +// #define ui_pai_software "SOUTH:6,WEST" +// #define ui_pai_shell "SOUTH:6,WEST+1" +// #define ui_pai_chassis "SOUTH:6,WEST+2" +// #define ui_pai_rest "SOUTH:6,WEST+3" +// #define ui_pai_light "SOUTH:6,WEST+4" +// #define ui_pai_newscaster "SOUTH:6,WEST+5" +// #define ui_pai_host_monitor "SOUTH:6,WEST+6" +// #define ui_pai_crew_manifest "SOUTH:6,WEST+7" +// #define ui_pai_state_laws "SOUTH:6,WEST+8" +// #define ui_pai_pda_send "SOUTH:6,WEST+9" +// #define ui_pai_pda_log "SOUTH:6,WEST+10" +// #define ui_pai_take_picture "SOUTH:6,WEST+12" +// #define ui_pai_view_images "SOUTH:6,WEST+13" + +//Ghosts +#define ui_ghost_jumptomob "SOUTH:6,CENTER-3:24" +#define ui_ghost_orbit "SOUTH:6,CENTER-2:24" +#define ui_ghost_reenter_corpse "SOUTH:6,CENTER-1:24" +#define ui_ghost_teleport "SOUTH:6,CENTER:24" +#define ui_ghost_pai "SOUTH: 6, CENTER+1:24" +#define ui_ghost_mafia "SOUTH: 6, CENTER+2:24" +#define ui_ghost_spawners "SOUTH: 6, CENTER+1:24" // LEGACY. SAME LOC AS PAI + +//UI position overrides for 1:1 screen layout. (default is 7:5) +#define ui_stamina "EAST-1:28,CENTER:17" // replacing internals button +#define ui_overridden_resist "EAST-3:24,SOUTH+1:7" +#define ui_clickdelay "CENTER,SOUTH+1:-31" +#define ui_resistdelay "EAST-3:24,SOUTH+1:4" +#define ui_combat_toggle "EAST-4:22,SOUTH:5" + +#define ui_boxcraft "EAST-4:22,SOUTH+1:6" +#define ui_boxarea "EAST-4:6,SOUTH+1:6" +#define ui_boxlang "EAST-5:22,SOUTH+1:6" +#define ui_boxvore "EAST-5:22,SOUTH+1:6" + +#define ui_wanted_lvl "NORTH,11" + +// Defines relating to action button positions + +/// Whatever the base action datum thinks is best +#define SCRN_OBJ_DEFAULT "default" +/// Floating somewhere on the hud, not in any predefined place +#define SCRN_OBJ_FLOATING "floating" +/// In the list of buttons stored at the top of the screen +#define SCRN_OBJ_IN_LIST "list" +/// In the collapseable palette +#define SCRN_OBJ_IN_PALETTE "palette" + +/// The filter name for the hover outline +#define HOVER_OUTLINE_FILTER "hover_outline" diff --git a/code/__DEFINES/logging.dm b/code/__DEFINES/logging.dm index 96201d71c2..84d6d0ae21 100644 --- a/code/__DEFINES/logging.dm +++ b/code/__DEFINES/logging.dm @@ -1,25 +1,26 @@ //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_PORTAL "portals" -#define INVESTIGATE_RESEARCH "research" -#define INVESTIGATE_HALLUCINATIONS "hallucinations" -#define INVESTIGATE_RADIATION "radiation" -#define INVESTIGATE_EXONET "exonet" -#define INVESTIGATE_NANITES "nanites" -#define INVESTIGATE_CIRCUIT "circuit" -#define INVESTIGATE_FERMICHEM "fermichem" -#define INVESTIGATE_RCD "rcd" -#define INVESTIGATE_CRYOGENICS "cryogenics" -#define INVESTIGATE_GHOST "ghost" +#define INVESTIGATE_ATMOS "atmos" +#define INVESTIGATE_BOTANY "botany" +#define INVESTIGATE_CARGO "cargo" +#define INVESTIGATE_CIRCUIT "circuit" +#define INVESTIGATE_CRYOGENICS "cryogenics" +#define INVESTIGATE_DEATHS "deaths" +#define INVESTIGATE_EXONET "exonet" +#define INVESTIGATE_EXPERIMENTOR "experimentor" +#define INVESTIGATE_FERMICHEM "fermichem" +#define INVESTIGATE_GHOST "ghost" +#define INVESTIGATE_GRAVITY "gravity" +#define INVESTIGATE_HALLUCINATIONS "hallucinations" +#define INVESTIGATE_NANITES "nanites" +#define INVESTIGATE_PORTAL "portals" +#define INVESTIGATE_RADIATION "radiation" +#define INVESTIGATE_RCD "rcd" +#define INVESTIGATE_RECORDS "records" +#define INVESTIGATE_RESEARCH "research" +#define INVESTIGATE_SINGULO "singulo" +#define INVESTIGATE_SUPERMATTER "supermatter" +#define INVESTIGATE_TELESCI "telesci" +#define INVESTIGATE_WIRES "wires" // Logging types for log_message() #define LOG_ATTACK (1 << 0) diff --git a/code/__DEFINES/maths.dm b/code/__DEFINES/maths.dm index 60d02c1e49..01a295634f 100644 --- a/code/__DEFINES/maths.dm +++ b/code/__DEFINES/maths.dm @@ -30,6 +30,8 @@ #define CEILING(x, y) ( -round(-(x) / (y)) * (y) ) +#define ROUND_UP(x) ( -round(-(x))) + // round() acts like floor(x, 1) by default but can't handle other values #define FLOOR(x, y) ( round((x) / (y)) * (y) ) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 603d01b011..edd9149fa3 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -304,10 +304,6 @@ GLOBAL_LIST_INIT(pda_reskins, list( */ -// Consider these images/atoms as part of the UI/HUD -#define APPEARANCE_UI_IGNORE_ALPHA (RESET_COLOR|RESET_TRANSFORM|NO_CLIENT_COLOR|RESET_ALPHA|PIXEL_SCALE) -#define APPEARANCE_UI (RESET_COLOR|RESET_TRANSFORM|NO_CLIENT_COLOR|PIXEL_SCALE) - //Just space #define SPACE_ICON_STATE "[((x + y) ^ ~(x * y) + z) % 25]" @@ -525,7 +521,8 @@ GLOBAL_LIST_INIT(pda_reskins, list( #define VARSET_TO_LIST(L, V) if(L) L[#V] = V #define VARSET_TO_LIST_IF(L, V, C...) if(L && (C)) L[#V] = V -#define PREF_SAVELOAD_COOLDOWN 5 +#define PREF_LOAD_COOLDOWN 5 +#define PREF_SAVE_COOLDOWN 2 SECONDS #define VOMIT_TOXIC 1 #define VOMIT_PURPLE 2 @@ -536,9 +533,6 @@ GLOBAL_LIST_INIT(pda_reskins, list( #define FALL_NO_MESSAGE (1<<1) //Used to suppress the "[A] falls through [old_turf]" messages where it'd make little sense at all, like going downstairs. #define FALL_STOP_INTERCEPTING (1<<2) //Used in situations where halting the whole "intercept" loop would be better, like supermatter dusting (and thus deleting) the atom. -//Misc text define. Does 4 spaces. Used as a makeshift tabulator. -#define FOURSPACES "    " - #define CRYOMOBS 'icons/obj/cryo_mobs.dmi' #define CUSTOM_HOLOFORM_DELAY 10 SECONDS //prevents spamming to make lag. it's pretty expensive to do this. diff --git a/code/__DEFINES/text.dm b/code/__DEFINES/text.dm index 58c24747e0..bf60d6e725 100644 --- a/code/__DEFINES/text.dm +++ b/code/__DEFINES/text.dm @@ -1,5 +1,50 @@ +/// Does 4 spaces. Used as a makeshift tabulator. +#define FOURSPACES "    " + +/// Standard maptext /// Prepares a text to be used for maptext. Use this so it doesn't look hideous. #define MAPTEXT(text) {"[##text]"} -/// Macro from Lummox used to get height from a MeasureText proc -#define WXH_TO_HEIGHT(x) text2num(copytext(x, findtextEx(x, "x") + 1)) +/** + * Pixel-perfect scaled fonts for use in the MAP element as defined in skin.dmf + * + * Four sizes to choose from, use the sizes as mentioned below. + * Between the variations and a step there should be an option that fits your use case. + * BYOND uses pt sizing, different than px used in TGUI. Using px will make it look blurry due to poor antialiasing. + * + * Default sizes are prefilled in the macro for ease of use and a consistent visual look. + * To use a step other than the default in the macro, specify it in a span style. + * For example: MAPTEXT_PIXELLARI("Some large maptext here") + */ +/// Large size (ie: context tooltips) - Size options: 12pt 24pt. +#define MAPTEXT_PIXELLARI(text) {"[##text]"} + +/// Standard size (ie: normal runechat) - Size options: 6pt 12pt 18pt. +#define MAPTEXT_GRAND9K(text) {"[##text]"} + +/// Small size. (ie: context subtooltips, spell delays) - Size options: 12pt 24pt. +#define MAPTEXT_TINY_UNICODE(text) {"[##text]"} + +/// Smallest size. (ie: whisper runechat) - Size options: 6pt 12pt 18pt. +#define MAPTEXT_SPESSFONT(text) {"[##text]"} + +/** + * Prepares a text to be used for maptext, using a variable size font. + * + * More flexible but doesn't scale pixel perfect to BYOND icon resolutions. + * (May be blurry.) Can use any size in pt or px. + * + * You MUST Specify the size when using the macro + * For example: MAPTEXT_VCR_OSD_MONO("Some large maptext here") + */ +/// Prepares a text to be used for maptext, using a variable size font. +/// Variable size font. More flexible but doesn't scale pixel perfect to BYOND icon resolutions. (May be blurry.) Can use any size in pt or px. +#define MAPTEXT_VCR_OSD_MONO(text) {"[##text]"} + +/// Macro from Lummox used to get height from a MeasureText proc. +/// resolves the MeasureText() return value once, then resolves the height, then sets return_var to that. +#define WXH_TO_HEIGHT(measurement, return_var) \ + do { \ + var/_measurement = measurement; \ + return_var = text2num(copytext(_measurement, findtextEx(_measurement, "x") + 1)); \ + } while(FALSE); diff --git a/code/__DEFINES/vv.dm b/code/__DEFINES/vv.dm index a04f02bd6a..86a3bd4c31 100644 --- a/code/__DEFINES/vv.dm +++ b/code/__DEFINES/vv.dm @@ -18,6 +18,7 @@ #define VV_NULL "NULL" #define VV_RESTORE_DEFAULT "Restore to Default" #define VV_MARKED_DATUM "Marked Datum" +#define VV_TAGGED_DATUM "Tagged Datum" #define VV_BITFIELD "Bitfield" #define VV_TEXT_LOCATE "Custom Reference Locate" #define VV_PROCCALL_RETVAL "Return Value of Proccall" @@ -73,6 +74,7 @@ #define VV_HK_EXPOSE "expose" #define VV_HK_CALLPROC "proc_call" #define VV_HK_MARK "mark" +#define VV_HK_TAG "tag" #define VV_HK_ADDCOMPONENT "addcomponent" #define VV_HK_MODIFY_TRAITS "modtraits" #define VV_HK_VIEW_REFERENCES "viewreferences" diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index b805babb7a..3b092fd3b7 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -495,10 +495,10 @@ return sortTim(L, order >= 0 ? GLOBAL_PROC_REF(cmp_records_asc) : GLOBAL_PROC_REF(cmp_records_dsc)) //any value in a list -/proc/sortList(list/L, cmp=GLOBAL_PROC_REF(cmp_text_asc)) +/proc/sort_list(list/L, cmp=GLOBAL_PROC_REF(cmp_text_asc)) return sortTim(L.Copy(), cmp) -//uses sortList() but uses the var's name specifically. This should probably be using mergeAtom() instead +//uses sort_list() but uses the var's name specifically. This should probably be using mergeAtom() instead /proc/sortNames(list/L, order=1) return sortTim(L.Copy(), order >= 0 ? GLOBAL_PROC_REF(cmp_name_asc) : GLOBAL_PROC_REF(cmp_name_dsc)) diff --git a/code/__HELPERS/angles.dm b/code/__HELPERS/angles.dm index a3fc2404bd..0835135788 100644 --- a/code/__HELPERS/angles.dm +++ b/code/__HELPERS/angles.dm @@ -16,7 +16,7 @@ /proc/Get_Angle(atom/movable/start,atom/movable/end)//For beams. if(!start || !end) - return 0 + return FALSE var/dy var/dx dy=(32*end.y+end.pixel_y)-(32*start.y+start.pixel_y) diff --git a/code/__HELPERS/cmp.dm b/code/__HELPERS/cmp.dm index 2fbf087288..047888e420 100644 --- a/code/__HELPERS/cmp.dm +++ b/code/__HELPERS/cmp.dm @@ -4,6 +4,13 @@ /proc/cmp_numeric_asc(a,b) return a - b +// please don't ask +/proc/cmp_numeric_text_desc(a, b) + return text2num(b) - text2num(a) + +/proc/cmp_numeric_text_asc(a, b) + return text2num(a) - text2num(b) + /proc/cmp_text_asc(a,b) return sorttext(b,a) diff --git a/code/__HELPERS/files.dm b/code/__HELPERS/files.dm index aad5b4cab1..a97d1280ea 100644 --- a/code/__HELPERS/files.dm +++ b/code/__HELPERS/files.dm @@ -45,12 +45,12 @@ var/time_to_wait = GLOB.fileaccess_timer - world.time if(time_to_wait > 0) to_chat(src, "Error: file_spam_check(): Spam. Please wait [DisplayTimeText(time_to_wait)].") - return 1 + return TRUE var/delay = FTPDELAY if(holder) delay *= ADMIN_FTPDELAY_MODIFIER GLOB.fileaccess_timer = world.time + delay - return 0 + return FALSE #undef FTPDELAY #undef ADMIN_FTPDELAY_MODIFIER diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index cab5a31a4f..e177fa2860 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -97,8 +97,8 @@ if(C == must_be_alone) continue if(our_area == get_area(C)) - return 0 - return 1 + return FALSE + return TRUE //We used to use linear regression to approximate the answer, but Mloc realized this was actually faster. //And lo and behold, it is, and it's more accurate to boot. @@ -310,14 +310,14 @@ var/turf/T if(X1==X2) if(Y1==Y2) - return 1 //Light cannot be blocked on same tile + return TRUE //Light cannot be blocked on same tile else var/s = SIGN(Y2-Y1) Y1+=s while(Y1!=Y2) T=locate(X1,Y1,Z) if(T.opacity) - return 0 + return FALSE Y1+=s else var/m=(32*(Y2-Y1)+(PY2-PY1))/(32*(X2-X1)+(PX2-PX1)) @@ -333,8 +333,8 @@ X1+=signX //Line exits tile horizontally T=locate(X1,Y1,Z) if(T.opacity) - return 0 - return 1 + return FALSE + return TRUE #undef SIGNV @@ -343,13 +343,13 @@ var/turf/Bturf = get_turf(B) if(!Aturf || !Bturf) - return 0 + return FALSE if(inLineOfSight(Aturf.x,Aturf.y, Bturf.x,Bturf.y,Aturf.z)) - return 1 + return TRUE else - return 0 + return FALSE /proc/get_cardinal_step_away(atom/start, atom/finish) //returns the position of a step from start away from finish, in one of the cardinal directions diff --git a/code/__HELPERS/heap.dm b/code/__HELPERS/heap.dm index eabcb0e0dc..b8b24c2360 100644 --- a/code/__HELPERS/heap.dm +++ b/code/__HELPERS/heap.dm @@ -29,7 +29,7 @@ //(i.e the max or the min dependant on the comparison function) /datum/heap/proc/pop() if(!length(L)) - return 0 + return FALSE . = L[1] L[1] = L[length(L)] @@ -60,7 +60,7 @@ //or 0 if there's no child /datum/heap/proc/get_greater_child(index) if(index * 2 > length(L)) - return 0 + return FALSE if(index * 2 + 1 > length(L)) return index * 2 diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm index 801a2cd431..0e4010aff0 100644 --- a/code/__HELPERS/icon_smoothing.dm +++ b/code/__HELPERS/icon_smoothing.dm @@ -56,7 +56,7 @@ /proc/calculate_adjacencies(atom/A) if(!A.loc) - return 0 + return FALSE var/adjacencies = 0 @@ -64,7 +64,7 @@ if(ismovable(A)) AM = A if(AM.can_be_unanchored && !AM.anchored) - return 0 + return FALSE for(var/direction in GLOB.cardinals) AM = find_type_in_direction(A, direction) @@ -374,7 +374,7 @@ if(N_SOUTH|N_EAST|N_SOUTHEAST) return SOUTHEAST else - return 0 + return FALSE //SSicon_smooth /proc/queue_smooth_neighbors(atom/A) diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index 378f59b768..eb0aa448d3 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -992,7 +992,7 @@ world letter = lowertext(letter) var/image/text_image = new(loc = A) - text_image.maptext = MAPTEXT("[letter]") + text_image.maptext = MAPTEXT("[letter]") text_image.pixel_x = 7 text_image.pixel_y = 5 qdel(atom_icon) @@ -1027,15 +1027,15 @@ GLOBAL_LIST_EMPTY(friendly_animal_types) //Returns the same icon specifed in the argument, but with the pixel drawn /proc/DrawPixel(icon/I,colour,drawX,drawY) if(!I) - return 0 + return FALSE var/Iwidth = I.Width() var/Iheight = I.Height() if(drawX > Iwidth || drawX <= 0) - return 0 + return FALSE if(drawY > Iheight || drawY <= 0) - return 0 + return FALSE I.DrawBox(colour,drawX, drawY) return I @@ -1048,7 +1048,7 @@ GLOBAL_LIST_EMPTY(friendly_animal_types) if(J) //Only set the icon if it succeeded, the icon without the pixel is 1000x better than a black square. icon = J return J - return 0 + return FALSE //For creating consistent icons for human looking simple animals /proc/get_flat_human_icon(icon_id, datum/job/J, datum/preferences/prefs, dummy_key, showDirs = GLOB.cardinals, outfit_override = null, no_anim = FALSE) diff --git a/code/__HELPERS/pronouns.dm b/code/__HELPERS/pronouns.dm index bfe09ba370..fd15c05c64 100644 --- a/code/__HELPERS/pronouns.dm +++ b/code/__HELPERS/pronouns.dm @@ -39,6 +39,21 @@ /datum/proc/p_es(temp_gender) . = "es" +/datum/proc/plural_s(pluralize) + switch(copytext_char(pluralize, -2)) + if ("ss") + return "es" + if ("sh") + return "es" + if ("ch") + return "es" + else + switch(copytext_char(pluralize, -1)) + if("s", "x", "z") + return "es" + else + return "s" + //like clients, which do have gender. /client/p_they(capitalized, temp_gender) if(!temp_gender) diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm index 835ddbf849..95e36ba1a5 100644 --- a/code/__HELPERS/roundend.dm +++ b/code/__HELPERS/roundend.dm @@ -668,7 +668,7 @@ SSticker.show_roundend_report(owner.client) /datum/action/report/IsAvailable() - return 1 + return TRUE /datum/action/report/Topic(href,href_list) if(usr != owner) diff --git a/code/__HELPERS/screen_objs.dm b/code/__HELPERS/screen_objs.dm new file mode 100644 index 0000000000..aa86b6d579 --- /dev/null +++ b/code/__HELPERS/screen_objs.dm @@ -0,0 +1,91 @@ +/// Takes a screen loc string in the format +/// "+-left-offset:+-pixel,+-bottom-offset:+-pixel" +/// Where the :pixel is optional, and returns +/// A list in the format (x_offset, y_offset) +/// We require context to get info out of screen locs that contain relative info, so NORTH, SOUTH, etc +/proc/screen_loc_to_offset(screen_loc, view) + if(!screen_loc) + return list(64, 64) + var/list/view_size = view_to_pixels(view) + var/x = 0 + var/y = 0 + // Time to parse for directional relative offsets + if(findtext(screen_loc, "EAST")) // If you're starting from the east, we start from the east too + x += view_size[1] + if(findtext(screen_loc, "WEST")) // HHHHHHHHHHHHHHHHHHHHHH WEST is technically a 1 tile offset from the start. Shoot me please + x += world.icon_size + if(findtext(screen_loc, "NORTH")) + y += view_size[2] + if(findtext(screen_loc, "SOUTH")) + y += world.icon_size + // Cut out everything we just parsed + screen_loc = cut_relative_direction(screen_loc) + + var/list/x_and_y = splittext(screen_loc, ",") + var/list/x_pack = splittext(x_and_y[1], ":") + var/list/y_pack = splittext(x_and_y[2], ":") + x += text2num(x_pack[1]) * world.icon_size + y += text2num(y_pack[1]) * world.icon_size + + if(length(x_pack) > 1) + x += text2num(x_pack[2]) + if(length(y_pack) > 1) + y += text2num(y_pack[2]) + return list(x, y) + +/// Takes a list in the form (x_offset, y_offset) +/// And converts it to a screen loc string +/// Accepts an optional view string/size to force the screen_loc around, so it can't go out of scope +/proc/offset_to_screen_loc(x_offset, y_offset, view = null) + if(view) + var/list/view_bounds = view_to_pixels(view) + x_offset = clamp(x_offset, world.icon_size, view_bounds[1]) + y_offset = clamp(y_offset, world.icon_size, view_bounds[2]) + + // Round with no argument is floor, so we get the non pixel offset here + var/x = round(x_offset / world.icon_size) + var/pixel_x = x_offset % world.icon_size + var/y = round(y_offset / world.icon_size) + var/pixel_y = y_offset % world.icon_size + + var/list/generated_loc = list() + generated_loc += "[x]" + if(pixel_x) + generated_loc += ":[pixel_x]" + generated_loc += ",[y]" + if(pixel_y) + generated_loc += ":[pixel_y]" + return jointext(generated_loc, "") + +/** + * Returns a valid location to place a screen object without overflowing the viewport + * + * * target: The target location as a purely number based screen_loc string "+-left-offset:+-pixel,+-bottom-offset:+-pixel" + * * target_offset: The amount we want to offset the target location by. We explictly don't care about direction here, we will try all 4 + * * view: The view variable of the client we're doing this for. We use this to get the size of the screen + * + * Returns a screen loc representing the valid location +**/ +/proc/get_valid_screen_location(target_loc, target_offset, view) + var/list/offsets = screen_loc_to_offset(target_loc) + var/base_x = offsets[1] + var/base_y = offsets[2] + + var/list/view_size = view_to_pixels(view) + + // Bias to the right, down, left, and then finally up + if(base_x + target_offset < view_size[1]) + return offset_to_screen_loc(base_x + target_offset, base_y, view) + if(base_y - target_offset > world.icon_size) + return offset_to_screen_loc(base_x, base_y - target_offset, view) + if(base_x - target_offset > world.icon_size) + return offset_to_screen_loc(base_x - target_offset, base_y, view) + if(base_y + target_offset < view_size[2]) + return offset_to_screen_loc(base_x, base_y + target_offset, view) + stack_trace("You passed in a scren location {[target_loc]} and offset {[target_offset]} that can't be fit in the viewport Width {[view_size[1]]}, Height {[view_size[2]]}. what did you do lad") + return null // The fuck did you do lad + +/// Takes a screen_loc string and cut out any directions like NORTH or SOUTH +/proc/cut_relative_direction(fragment) + var/static/regex/regex = regex(@"([A-Z])\w+", "g") + return regex.Replace(fragment, "") diff --git a/code/__HELPERS/sorts/__main.dm b/code/__HELPERS/sorts/__main.dm index 7732f2f237..0d95d1c3f6 100644 --- a/code/__HELPERS/sorts/__main.dm +++ b/code/__HELPERS/sorts/__main.dm @@ -138,7 +138,7 @@ GLOBAL_DATUM_INIT(sortInstance, /datum/sortInstance, new()) var/runHi = lo + 1 if(runHi >= hi) - return 1 + return TRUE var/last = fetchElement(L,lo) var/current = fetchElement(L,runHi++) diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index dec44653af..204eb8e60b 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -228,15 +228,15 @@ /proc/text_in_list(haystack, list/needle_list, start=1, end=0) for(var/needle in needle_list) if(findtext(haystack, needle, start, end)) - return 1 - return 0 + return TRUE + return FALSE //Like above, but case sensitive /proc/text_in_list_case(haystack, list/needle_list, start=1, end=0) for(var/needle in needle_list) if(findtextEx(haystack, needle, start, end)) - return 1 - return 0 + return TRUE + return FALSE //Adds 'char' ahead of 'text' until there are 'count' characters total /proc/add_leading(text, count, char = " ") @@ -301,7 +301,7 @@ else if(b == replace) //if B is the replacement char newtext = copytext(newtext, 1, newtext_it) + a + copytext(newtext, newtext_it + length(newtext[newtext_it])) else //The lists disagree, Uh-oh! - return 0 + return FALSE text_it += length(a) comp_it += length(b) newtext_it += length(newtext[newtext_it]) @@ -311,7 +311,7 @@ //This proc returns the number of chars of the string that is the character //This is used for detective work to determine fingerprint completion. if(!text || !character) - return 0 + return FALSE var/count = 0 var/lentext = length(text) var/a = "" @@ -403,7 +403,7 @@ GLOBAL_LIST_INIT(binary, list("0","1")) . = findtextEx(haystack, char, start, end) if(.) return - return 0 + return FALSE /proc/parsemarkdown_basic_step1(t, limited=FALSE) if(length(t) <= 0) @@ -828,3 +828,11 @@ GLOBAL_LIST_INIT(binary, list("0","1")) if(prob(15)) corrupted_text += pick(corruption_options) return corrupted_text + +/proc/format_text(text) + return replacetext(replacetext(text,"\proper ",""),"\improper ","") + +/// Removes all non-alphanumerics from the text, keep in mind this can lead to id conflicts +/proc/sanitize_css_class_name(name) + var/static/regex/regex = new(@"[^a-zA-Z0-9]","g") + return replacetext(name, regex, "") diff --git a/code/__HELPERS/time.dm b/code/__HELPERS/time.dm index 519a54b38d..0af855cbf6 100644 --- a/code/__HELPERS/time.dm +++ b/code/__HELPERS/time.dm @@ -14,7 +14,7 @@ var/MM = text2num(time2text(world.timeofday, "MM")) // get the current month var/DD = text2num(time2text(world.timeofday, "DD")) // get the current day if(month == MM && day == DD) - return 1 + return TRUE //returns timestamp in a sql and a not-quite-compliant ISO 8601 friendly format /proc/SQLtime(timevar) @@ -41,7 +41,7 @@ GLOBAL_VAR_INIT(rollovercheck_last_timeofday, 0) if(28 to INFINITY) return 5 else - return 1 + return TRUE //Takes a value of time in deciseconds. //Returns a text value of that number in hours, minutes, or seconds. diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 3939fb94cc..130243db79 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -158,7 +158,7 @@ /proc/dir2angle(D) switch(D) if(NORTH) - return 0 + return FALSE if(SOUTH) return 180 if(EAST) @@ -301,7 +301,7 @@ /proc/unix2date(timestamp, seperator = "-") if(timestamp < 0) - return 0 //Do not accept negative values + return FALSE //Do not accept negative values var/year = 1970 //Unix Epoc begins 1970-01-01 var/dayInSeconds = 86400 //60secs*60mins*24hours @@ -363,7 +363,7 @@ var/list/covered_parts = list() if(!bpc) - return 0 + return FALSE if(bpc & FULL_BODY) covered_parts |= list(BODY_ZONE_L_ARM,BODY_ZONE_R_ARM,BODY_ZONE_HEAD,BODY_ZONE_CHEST,BODY_ZONE_L_LEG,BODY_ZONE_R_LEG) @@ -557,7 +557,7 @@ //assumes format #RRGGBB #rrggbb /proc/color_hex2num(A) if(!A || length(A) != length_char(A)) - return 0 + return FALSE var/R = hex2num(copytext(A, 2, 4)) var/G = hex2num(copytext(A, 4, 6)) var/B = hex2num(copytext(A, 6, 0)) @@ -689,5 +689,11 @@ return 'modular_citadel/icons/ui/screen_operative.dmi' if('icons/mob/screen_clockwork.dmi') return 'modular_citadel/icons/ui/screen_clockwork.dmi' + if('icons/mob/screen_glass.dmi') + return 'modular_citadel/icons/ui/screen_glass.dmi' + if('icons/mob/screen_trasenknox.dmi') + return 'modular_citadel/icons/ui/screen_trasenknox.dmi' + if('icons/mob/screen_detective.dmi') + return 'modular_citadel/icons/ui/screen_detective.dmi' else return 'modular_citadel/icons/ui/screen_midnight.dmi' diff --git a/code/__HELPERS/type_processing.dm b/code/__HELPERS/type_processing.dm index ac7e5cab45..2b08b6d586 100644 --- a/code/__HELPERS/type_processing.dm +++ b/code/__HELPERS/type_processing.dm @@ -47,7 +47,7 @@ /proc/get_fancy_list_of_datum_types() var/static/list/pre_generated_list if (!pre_generated_list) //init - pre_generated_list = make_types_fancy(sortList(typesof(/datum) - typesof(/atom))) + pre_generated_list = make_types_fancy(sort_list(typesof(/datum) - typesof(/atom))) return pre_generated_list diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 435523465d..d249609034 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -394,7 +394,7 @@ Turf and target are separate in case you want to teleport some distance from a t /proc/get_edge_target_turf(atom/A, direction) var/turf/target = locate(A.x, A.y, A.z) if(!A || !target) - return 0 + return FALSE //since NORTHEAST == NORTH|EAST, etc, doing it this way allows for diagonal mass drivers in the future //and isn't really any more complicated @@ -512,35 +512,35 @@ Turf and target are separate in case you want to teleport some distance from a t current = get_step_towards(current, target_turf) while(current != target_turf) if(steps > length) - return 0 + return FALSE if(current.opacity) - return 0 + return FALSE for(var/thing in current) var/atom/A = thing if(A.opacity) - return 0 + return FALSE current = get_step_towards(current, target_turf) steps++ - return 1 + return TRUE /proc/is_blocked_turf(turf/T, exclude_mobs) if(T.density) - return 1 + return TRUE for(var/i in T) var/atom/A = i if(A.density && (!exclude_mobs || !ismob(A))) - return 1 - return 0 + return TRUE + return FALSE /proc/is_anchored_dense_turf(turf/T) //like the older version of the above, fails only if also anchored if(T.density) - return 1 + return TRUE for(var/i in T) var/atom/movable/A = i if(A.density && A.anchored) - return 1 - return 0 + return TRUE + return FALSE /proc/get_step_towards2(atom/ref , atom/trg) var/base_dir = get_dir(ref, get_step_towards(ref,trg)) @@ -577,9 +577,9 @@ Turf and target are separate in case you want to teleport some distance from a t //Returns: 1 if found, 0 if not. /proc/hasvar(datum/A, varname) if(A.vars.Find(lowertext(varname))) - return 1 + return TRUE else - return 0 + return FALSE /proc/get_cardinal_dir(atom/A, atom/B) var/dx = abs(B.x - A.x) @@ -700,7 +700,7 @@ Turf and target are separate in case you want to teleport some distance from a t //of course mathematically this is just adding world.icon_size on again /proc/getPixelDistance(atom/A, atom/B, centered = TRUE) if(!istype(A)||!istype(B)) - return 0 + return FALSE . = bounds_dist(A, B) + sqrt((((A.pixel_x+B.pixel_x)**2) + ((A.pixel_y+B.pixel_y)**2))) if(centered) . += world.icon_size @@ -741,31 +741,28 @@ GLOBAL_LIST_INIT(WALLITEMS_INVERSE, typecacheof(list( //Direction works sometimes if(is_type_in_typecache(O, GLOB.WALLITEMS_INVERSE)) if(O.dir == turn(dir, 180)) - return 1 + return TRUE else if(O.dir == dir) - return 1 + return TRUE //Some stuff doesn't use dir properly, so we need to check pixel instead //That's exactly what get_turf_pixel() does if(get_turf_pixel(O) == locdir) - return 1 + return TRUE if(is_type_in_typecache(O, GLOB.WALLITEMS_EXTERNAL) && check_external) if(is_type_in_typecache(O, GLOB.WALLITEMS_INVERSE)) if(O.dir == turn(dir, 180)) - return 1 + return TRUE else if(O.dir == dir) - return 1 + return TRUE //Some stuff is placed directly on the wallturf (signs) for(var/obj/O in locdir) if(is_type_in_typecache(O, GLOB.WALLITEMS) && check_external != 2) if(O.pixel_x == 0 && O.pixel_y == 0) - return 1 - return 0 - -/proc/format_text(text) - return replacetext(replacetext(text,"\proper ",""),"\improper ","") + return TRUE + return FALSE /proc/check_target_facings(mob/living/initator, mob/living/target) /*This can be used to add additional effects on interactions between mobs depending on how the mobs are facing each other, such as adding a crit damage to blows to the back of a guy's head. @@ -838,25 +835,25 @@ GLOBAL_LIST_INIT(WALLITEMS_INVERSE, typecacheof(list( /proc/IsValidSrc(datum/D) if(istype(D)) return !QDELETED(D) - return 0 + return FALSE //Compare A's dir, the clockwise dir of A and the anticlockwise dir of A //To the opposite dir of the dir returned by get_dir(B,A) //If one of them is a match, then A is facing B /proc/is_A_facing_B(atom/A,atom/B) if(!istype(A) || !istype(B)) - return 0 + return FALSE if(isliving(A)) var/mob/living/LA = A if(LA.lying) - return 0 + return FALSE var/goal_dir = get_dir(A,B) var/clockwise_A_dir = turn(A.dir, -45) var/anticlockwise_A_dir = turn(A.dir, 45) if(A.dir == goal_dir || clockwise_A_dir == goal_dir || anticlockwise_A_dir == goal_dir) - return 1 - return 0 + return TRUE + return FALSE /* @@ -1049,10 +1046,10 @@ B --><-- A /atom/proc/contains(var/atom/A) if(!A) - return 0 + return FALSE for(var/atom/location = A.loc, location, location = location.loc) if(location == src) - return 1 + return TRUE /proc/flick_overlay_static(O, atom/A, duration) set waitfor = 0 @@ -1152,7 +1149,7 @@ GLOBAL_REAL_VAR(list/stack_trace_storage) /proc/stoplag(initial_delay) if (!Master || !(Master.current_runlevel & RUNLEVELS_DEFAULT)) sleep(world.tick_lag) - return 1 + return TRUE if (!initial_delay) initial_delay = world.tick_lag . = 0 @@ -1568,11 +1565,11 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) /proc/num2sign(numeric) if(numeric > 0) - return 1 + return TRUE else if(numeric < 0) return -1 else - return 0 + return FALSE // Converts browser keycodes to BYOND keycodes. /proc/browser_keycode_to_byond(keycode) diff --git a/code/__HELPERS/view.dm b/code/__HELPERS/view.dm index 1c92971802..6a4210bc53 100644 --- a/code/__HELPERS/view.dm +++ b/code/__HELPERS/view.dm @@ -1,15 +1,19 @@ /proc/getviewsize(view) - var/viewX - var/viewY if(isnum(view)) var/totalviewrange = (view < 0 ? -1 : 1) + 2 * view - viewX = totalviewrange - viewY = totalviewrange + return list(totalviewrange, totalviewrange) else var/list/viewrangelist = splittext(view,"x") - viewX = text2num(viewrangelist[1]) - viewY = text2num(viewrangelist[2]) - return list(viewX, viewY) + return list(text2num(viewrangelist[1]), text2num(viewrangelist[2])) + +/// Takes a string or num view, and converts it to pixel width/height in a list(pixel_width, pixel_height) +/proc/view_to_pixels(view) + if(!view) + return list(0, 0) + var/list/view_info = getviewsize(view) + view_info[1] *= world.icon_size + view_info[2] *= world.icon_size + return view_info /proc/in_view_range(mob/user, atom/A) var/list/view_range = getviewsize(user.client.view) diff --git a/code/__HELPERS/yelling.dm b/code/__HELPERS/yelling.dm index 4383a245d4..25ec9580a1 100644 --- a/code/__HELPERS/yelling.dm +++ b/code/__HELPERS/yelling.dm @@ -30,7 +30,7 @@ #define RUN_YELL(_T, _P, _D) \ returned = max(_P - max(_T.get_yelling_resistance(_P), 0) - 1, 0); \ processed[_T] = returned; - // _T.maptext = "[returned]"; + // _T.maptext = MAPTEXT(returned); var/list/turf/edges_next var/list/turf/powers_next diff --git a/code/_onclick/adjacent.dm b/code/_onclick/adjacent.dm index e629a6eb57..06499b3a64 100644 --- a/code/_onclick/adjacent.dm +++ b/code/_onclick/adjacent.dm @@ -11,7 +11,7 @@ to check that the mob is not inside of something */ /atom/proc/Adjacent(atom/neighbor) // basic inheritance, unused - return 0 + return FALSE // Not a sane use of the function and (for now) indicative of an error elsewhere /area/Adjacent(var/atom/neighbor) @@ -57,9 +57,9 @@ if(!src.ClickCross(get_dir(src,T1), border_only = 1, target_atom = target, mover = mover)) continue // could not enter src - return 1 // we don't care about our own density + return TRUE // we don't care about our own density - return 0 + return FALSE /* Adjacency (to anything else): @@ -78,11 +78,11 @@ // This is necessary for storage items not on your person. /obj/item/Adjacent(var/atom/neighbor, var/recurse = 1) if(neighbor == loc) - return 1 + return TRUE if(isitem(loc)) if(recurse > 0) return loc.Adjacent(neighbor,recurse - 1) - return 0 + return FALSE return ..() /* @@ -99,7 +99,7 @@ if( O.flags_1&ON_BORDER_1) // windows are on border, check them first if( O.dir & target_dir || O.dir & (O.dir-1) ) // full tile windows are just diagonals mechanically - return 0 //O.dir&(O.dir-1) is false for any cardinal direction, but true for diagonal ones + return FALSE //O.dir&(O.dir-1) is false for any cardinal direction, but true for diagonal ones else if( !border_only ) // dense, not on border, cannot pass over - return 0 - return 1 + return FALSE + return TRUE diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 6e8d1de955..81cb9d2ba6 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -58,7 +58,10 @@ if(modifiers["shift"] && modifiers["ctrl"]) return CtrlShiftClickOn(A) if(modifiers["middle"]) - return MiddleClickOn(A) + if(modifiers["ctrl"]) + return CtrlMiddleClickOn(A) + else + return MiddleClickOn(A) if(modifiers["shift"] && (client && client.show_popup_menus || modifiers["right"])) //CIT CHANGE - makes shift-click examine use right click instead of left click in combat mode return ShiftClickOn(A) if(modifiers["alt"]) // alt and alt-gr (rightalt) @@ -86,7 +89,7 @@ DelayNextAction(CLICK_CD_HANDCUFFED) return RestrainedClickOn(A) - if(in_throw_mode) + if(throw_mode) throw_item(A) return @@ -356,6 +359,14 @@ return TRUE else return ..() + +/mob/proc/CtrlMiddleClickOn(atom/A) + if(check_rights_for(client, R_ADMIN)) + client.toggle_tag_datum(A) + else + A.CtrlClick(src) + return + /* Alt click Used as an alternate way to interact with things. diff --git a/code/_onclick/drag_drop.dm b/code/_onclick/drag_drop.dm index a698706f1a..bd1509d88b 100644 --- a/code/_onclick/drag_drop.dm +++ b/code/_onclick/drag_drop.dm @@ -92,11 +92,11 @@ . = 1 //Please don't roast me too hard -/client/MouseMove(object,location,control,params) +/client/MouseMove(object, location, control, params) mouseParams = params - mouseLocation = location - mouseObject = object - mouseControlObject = control + mouse_location_ref = WEAKREF(location) + mouse_object_ref = WEAKREF(object) + mouse_control_object = control if(mob) SEND_SIGNAL(mob, COMSIG_MOB_CLIENT_MOUSEMOVE, object, location, control, params) // god forgive me for i have sinned - used for autoparry. currently at 5 objects. @@ -107,15 +107,16 @@ /client/MouseDrag(src_object,atom/over_object,src_location,over_location,src_control,over_control,params) mouseParams = params - mouseLocation = over_location - mouseObject = over_object - mouseControlObject = over_control - if(selected_target[1] && over_object && over_object.IsAutoclickable()) + mouse_location_ref = WEAKREF(over_location) + mouse_object_ref = WEAKREF(over_object) + mouse_control_object = over_control + if(selected_target[1] && over_object?.IsAutoclickable()) selected_target[1] = over_object selected_target[2] = params if(active_mousedown_item) active_mousedown_item.onMouseDrag(src_object, over_object, src_location, over_location, params, mob) SEND_SIGNAL(src, COMSIG_CLIENT_MOUSEDRAG, src_object, over_object, src_location, over_location, src_control, over_control, params) + return ..() /obj/item/proc/onMouseDrag(src_object, over_object, src_location, over_location, params, mob) return diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm deleted file mode 100644 index 2831e25b10..0000000000 --- a/code/_onclick/hud/_defines.dm +++ /dev/null @@ -1,192 +0,0 @@ -/* - These defines specificy screen locations. For more information, see the byond documentation on the screen_loc var. - - The short version: - - Everything is encoded as strings because apparently that's how Byond rolls. - - "1,1" is the bottom left square of the user's screen. This aligns perfectly with the turf grid. - "1:2,3:4" is the square (1,3) with pixel offsets (+2, +4); slightly right and slightly above the turf grid. - Pixel offsets are used so you don't perfectly hide the turf under them, that would be crappy. - - In addition, the keywords NORTH, SOUTH, EAST, WEST and CENTER can be used to represent their respective - screen borders. NORTH-1, for example, is the row just below the upper edge. Useful if you want your - UI to scale with screen size. - - The size of the user's screen is defined by client.view (indirectly by world.view), in our case "15x15". - Therefore, the top right corner (except during admin shenanigans) is at "15,15" -*/ - -/proc/ui_hand_position(i) //values based on old hand ui positions (CENTER:-/+16,SOUTH:5) - var/x_off = -(!(i % 2)) - var/y_off = round((i-1) / 2) - return"CENTER+[x_off]:16,SOUTH+[y_off]:5" - -/proc/ui_equip_position(mob/M) - var/y_off = round((M.held_items.len-1) / 2) //values based on old equip ui position (CENTER: +/-16,SOUTH+1:5) - return "CENTER:-16,SOUTH+[y_off+1]:5" - -/proc/ui_swaphand_position(mob/M, which = 1) //values based on old swaphand ui positions (CENTER: +/-16,SOUTH+1:5) - var/x_off = which == 1 ? -1 : 0 - var/y_off = round((M.held_items.len-1) / 2) - return "CENTER+[x_off]:16,SOUTH+[y_off+1]:5" - -//Lower left, persistent menu -#define ui_inventory "WEST:6,SOUTH:5" - -//Middle left indicators -#define ui_lingchemdisplay "WEST,CENTER-1:15" -#define ui_lingstingdisplay "WEST:6,CENTER-3:11" - -#define ui_devilsouldisplay "WEST:6,CENTER-1:15" - -//Lower center, persistent menu -#define ui_sstore1 "CENTER-5:10,SOUTH:5" -#define ui_id "CENTER-4:12,SOUTH:5" -#define ui_belt "CENTER-3:14,SOUTH:5" -#define ui_back "CENTER-2:14,SOUTH:5" -#define ui_storage1 "CENTER+1:18,SOUTH:5" -#define ui_storage2 "CENTER+2:20,SOUTH:5" -#define ui_combo "CENTER+4:24,SOUTH+1:7" // combo meter for martial arts - -//Lower right, persistent menu -#define ui_drop_throw "EAST-1:28,SOUTH+1:7" -#define ui_pull_resist "EAST-2:26,SOUTH+1:7" -#define ui_movi "EAST-2:26,SOUTH:5" -#define ui_sprintbufferloc "EAST-2:26,SOUTH:18" -#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-5:20,SOUTH:5"//CIT CHANGE - moves this over one tile to accommodate for combat mode toggle -#define ui_building "EAST-5:20,SOUTH:21"//CIT CHANGE - ditto -#define ui_language_menu "EAST-5:4,SOUTH:21"//CIT CHANGE - ditto -#define ui_voremode "EAST-5:20,SOUTH:5" - -//Upper-middle right (alerts) -#define ui_alert1 "EAST-1:28,CENTER+5:27" -#define ui_alert2 "EAST-1:28,CENTER+4:25" -#define ui_alert3 "EAST-1:28,CENTER+3:23" -#define ui_alert4 "EAST-1:28,CENTER+2:21" -#define ui_alert5 "EAST-1:28,CENTER+1:19" - -//Middle right (status indicators) -#define ui_healthdoll "EAST-1:28,CENTER-2:13" -#define ui_health "EAST-1:28,CENTER-1:15" -#define ui_internal "EAST-1:28,CENTER+1:19"//CIT CHANGE - moves internal icon up a little bit to accommodate for the stamina meter -#define ui_mood "EAST-1:28,CENTER-3:10" -// #define ui_spacesuit "EAST-1:28,CENTER-4:10" - -//Pop-up inventory -#define ui_shoes "WEST+1:8,SOUTH:5" -#define ui_iclothing "WEST:6,SOUTH+1:7" -#define ui_oclothing "WEST+1:8,SOUTH+1:7" -#define ui_gloves "WEST+2:10,SOUTH+1:7" -#define ui_glasses "WEST:6,SOUTH+3:11" -#define ui_mask "WEST+1:8,SOUTH+2:9" -#define ui_ears "WEST+2:10,SOUTH+2:9" -#define ui_neck "WEST:6,SOUTH+2:9" -#define ui_head "WEST+1:8,SOUTH+3:11" - -//Generic living -#define ui_living_pull "EAST-1:28,CENTER-2:15" -#define ui_living_health "EAST-1:28,CENTER:15" -#define ui_living_healthdoll "EAST-1:28,CENTER-1:15" - -//Monkeys -#define ui_monkey_head "CENTER-5:13,SOUTH:5" -#define ui_monkey_mask "CENTER-4:14,SOUTH:5" -#define ui_monkey_neck "CENTER-3:15,SOUTH:5" -#define ui_monkey_back "CENTER-2:16,SOUTH:5" - -//Drones -#define ui_drone_drop "CENTER+1:18,SOUTH:5" -#define ui_drone_pull "CENTER+2:2,SOUTH:5" -#define ui_drone_storage "CENTER-2:14,SOUTH:5" -#define ui_drone_head "CENTER-3:14,SOUTH:5" - -//Cyborgs -#define ui_borg_health "EAST-1:28,CENTER-1:15" -#define ui_borg_pull "EAST-2:26,SOUTH+1:7" -#define ui_borg_radio "EAST-1:28,SOUTH+1:7" -#define ui_borg_intents "EAST-2:26,SOUTH:5" -#define ui_borg_lamp "CENTER-3:16, SOUTH:5" -#define ui_borg_tablet "CENTER-4:16, SOUTH:5" -#define ui_inv1 "CENTER-2:16,SOUTH:5" -#define ui_inv2 "CENTER-1 :16,SOUTH:5" -#define ui_inv3 "CENTER :16,SOUTH:5" -#define ui_borg_module "CENTER+1:16,SOUTH:5" -#define ui_borg_store "CENTER+2:16,SOUTH:5" -#define ui_borg_camera "CENTER+3:21,SOUTH:5" -#define ui_borg_alerts "CENTER+4:21,SOUTH:5" -#define ui_borg_language_menu "CENTER+4:21,SOUTH+1:5" -#define ui_borg_sensor "CENTER-6:16, SOUTH:5" //LEGACY -#define ui_borg_thrusters "CENTER-5:16, SOUTH:5" //LEGACY - -//Aliens -#define ui_alien_health "EAST,CENTER-1:15" -#define ui_alienplasmadisplay "EAST,CENTER-2:15" -#define ui_alien_queen_finder "EAST,CENTER-3:15" -#define ui_alien_storage_r "CENTER+1:18,SOUTH:5" -#define ui_alien_language_menu "EAST-3:26,SOUTH:5" - -//Constructs -#define ui_construct_pull "EAST,CENTER-2:15" -#define ui_construct_health "EAST,CENTER:15" - -// AI -#define ui_ai_core "SOUTH:6,WEST" -#define ui_ai_camera_list "SOUTH:6,WEST+1" -#define ui_ai_track_with_camera "SOUTH:6,WEST+2" -#define ui_ai_camera_light "SOUTH:6,WEST+3" -#define ui_ai_crew_monitor "SOUTH:6,WEST+4" -#define ui_ai_crew_manifest "SOUTH:6,WEST+5" -#define ui_ai_alerts "SOUTH:6,WEST+6" -#define ui_ai_announcement "SOUTH:6,WEST+7" -#define ui_ai_shuttle "SOUTH:6,WEST+8" -#define ui_ai_state_laws "SOUTH:6,WEST+9" -#define ui_ai_pda_send "SOUTH:6,WEST+10" -#define ui_ai_pda_log "SOUTH:6,WEST+11" -#define ui_ai_take_picture "SOUTH:6,WEST+12" -#define ui_ai_view_images "SOUTH:6,WEST+13" -#define ui_ai_sensor "SOUTH:6,WEST+14" -#define ui_ai_multicam "SOUTH+1:6,WEST+13" -#define ui_ai_add_multicam "SOUTH+1:6,WEST+14" - - -// pAI -// #define ui_pai_software "SOUTH:6,WEST" -// #define ui_pai_shell "SOUTH:6,WEST+1" -// #define ui_pai_chassis "SOUTH:6,WEST+2" -// #define ui_pai_rest "SOUTH:6,WEST+3" -// #define ui_pai_light "SOUTH:6,WEST+4" -// #define ui_pai_newscaster "SOUTH:6,WEST+5" -// #define ui_pai_host_monitor "SOUTH:6,WEST+6" -// #define ui_pai_crew_manifest "SOUTH:6,WEST+7" -// #define ui_pai_state_laws "SOUTH:6,WEST+8" -// #define ui_pai_pda_send "SOUTH:6,WEST+9" -// #define ui_pai_pda_log "SOUTH:6,WEST+10" -// #define ui_pai_take_picture "SOUTH:6,WEST+12" -// #define ui_pai_view_images "SOUTH:6,WEST+13" - -//Ghosts -#define ui_ghost_jumptomob "SOUTH:6,CENTER-3:24" -#define ui_ghost_orbit "SOUTH:6,CENTER-2:24" -#define ui_ghost_reenter_corpse "SOUTH:6,CENTER-1:24" -#define ui_ghost_teleport "SOUTH:6,CENTER:24" -#define ui_ghost_pai "SOUTH: 6, CENTER+1:24" -#define ui_ghost_mafia "SOUTH: 6, CENTER+2:24" -#define ui_ghost_spawners "SOUTH: 6, CENTER+1:24" // LEGACY. SAME LOC AS PAI - -//UI position overrides for 1:1 screen layout. (default is 7:5) -#define ui_stamina "EAST-1:28,CENTER:17" // replacing internals button -#define ui_overridden_resist "EAST-3:24,SOUTH+1:7" -#define ui_clickdelay "CENTER,SOUTH+1:-31" -#define ui_resistdelay "EAST-3:24,SOUTH+1:4" -#define ui_combat_toggle "EAST-4:22,SOUTH:5" - -#define ui_boxcraft "EAST-4:22,SOUTH+1:6" -#define ui_boxarea "EAST-4:6,SOUTH+1:6" -#define ui_boxlang "EAST-5:22,SOUTH+1:6" -#define ui_boxvore "EAST-5:22,SOUTH+1:6" - -#define ui_wanted_lvl "NORTH,11" diff --git a/code/_onclick/hud/action_button.dm b/code/_onclick/hud/action_button.dm index d97e1f5d04..af49128d25 100644 --- a/code/_onclick/hud/action_button.dm +++ b/code/_onclick/hud/action_button.dm @@ -2,186 +2,156 @@ /atom/movable/screen/movable/action_button var/datum/action/linked_action + var/datum/hud/our_hud var/actiontooltipstyle = "" screen_loc = null var/button_icon_state var/appearance_cache + /// Where we are currently placed on the hud. SCRN_OBJ_DEFAULT asks the linked action what it thinks + var/location = SCRN_OBJ_DEFAULT + /// A unique bitflag, combined with the name of our linked action this lets us persistently remember any user changes to our position var/id - var/ordered = TRUE //If the button gets placed into the default bar + /// A weakref of the last thing we hovered over + /// God I hate how dragging works + var/datum/weakref/last_hovored_ref + +/atom/movable/screen/movable/action_button/Destroy() + if(our_hud) + var/mob/viewer = our_hud.mymob + our_hud.hide_action(src) + viewer?.client?.screen -= src + linked_action.viewers -= our_hud + viewer.update_action_buttons() + our_hud = null + linked_action = null + return ..() /atom/movable/screen/movable/action_button/proc/can_use(mob/user) if (linked_action) - return linked_action.owner == user + if(linked_action.viewers[user.hud_used]) + return TRUE + return FALSE else if (isobserver(user)) var/mob/dead/observer/O = user return !O.observetarget else return TRUE -/atom/movable/screen/movable/action_button/MouseDrop(over_object) - if(!can_use(usr)) - return - if((istype(over_object, /atom/movable/screen/movable/action_button) && !istype(over_object, /atom/movable/screen/movable/action_button/hide_toggle))) - if(locked) - to_chat(usr, "Action button \"[name]\" is locked, unlock it first.") - return - var/atom/movable/screen/movable/action_button/B = over_object - var/list/actions = usr.actions - actions.Swap(actions.Find(src.linked_action), actions.Find(B.linked_action)) - moved = FALSE - ordered = TRUE - B.moved = FALSE - B.ordered = TRUE - usr.update_action_buttons() - else - return ..() - /atom/movable/screen/movable/action_button/Click(location,control,params) if (!can_use(usr)) return var/list/modifiers = params2list(params) if(modifiers["shift"]) - if(locked) - to_chat(usr, "Action button \"[name]\" is locked, unlock it first.") - return TRUE - moved = 0 - usr.update_action_buttons() //redraw buttons that are no longer considered "moved" - return TRUE - if(modifiers["ctrl"]) - locked = !locked - to_chat(usr, "Action button \"[name]\" [locked ? "" : "un"]locked.") - if(id && usr.client) //try to (un)remember position - usr.client.prefs.action_buttons_screen_locs["[name]_[id]"] = locked ? moved : null + var/datum/hud/our_hud = usr.hud_used + our_hud.position_action(src, SCRN_OBJ_DEFAULT) return TRUE linked_action.Trigger() return TRUE -//Hide/Show Action Buttons ... Button -/atom/movable/screen/movable/action_button/hide_toggle - name = "Hide Buttons" - desc = "Shift-click any button to reset its position, and Control-click it to lock it in place. Alt-click this button to reset all buttons to their default positions." - icon = 'icons/mob/actions.dmi' - icon_state = "bg_default" - var/hidden = 0 - var/hide_icon = 'icons/mob/actions.dmi' - var/hide_state = "hide" - var/show_state = "show" - var/mutable_appearance/hide_appearance - var/mutable_appearance/show_appearance - -/atom/movable/screen/movable/action_button/hide_toggle/Initialize(mapload) +// Entered and Exited won't fire while you're dragging something, because you're still "holding" it +// Very much byond logic, but I want nice behavior, so we fake it with drag +/atom/movable/screen/movable/action_button/MouseDrag(atom/over_object, src_location, over_location, src_control, over_control, params) . = ..() - var/static/list/icon_cache = list() + if(!can_use(usr)) + return + if(IS_WEAKREF_OF(over_object, last_hovored_ref)) + return + var/atom/old_object + if(last_hovored_ref) + old_object = last_hovored_ref?.resolve() + else // If there's no current ref, we assume it was us. We also treat this as our "first go" location + old_object = src + var/datum/hud/our_hud = usr.hud_used + our_hud?.generate_landings(src) - var/cache_key = "[hide_icon][hide_state]" - hide_appearance = icon_cache[cache_key] - if(!hide_appearance) - hide_appearance = icon_cache[cache_key] = mutable_appearance(hide_icon, hide_state) + if(old_object) + old_object.MouseExited(over_location, over_control, params) - cache_key = "[hide_icon][show_state]" - show_appearance = icon_cache[cache_key] - if(!show_appearance) - show_appearance = icon_cache[cache_key] = mutable_appearance(hide_icon, show_state) + last_hovored_ref = WEAKREF(over_object) + over_object.MouseEntered(over_location, over_control, params) -/atom/movable/screen/movable/action_button/hide_toggle/Click(location,control,params) - if (!can_use(usr)) +/atom/movable/screen/movable/action_button/MouseEntered(location, control, params) + . = ..() + if(!QDELETED(src)) + openToolTip(usr, src, params, title = name, content = desc, theme = actiontooltipstyle) + +/atom/movable/screen/movable/action_button/MouseExited(location, control, params) + closeToolTip(usr) + return ..() + +/atom/movable/screen/movable/action_button/MouseDrop(over_object) + last_hovored_ref = null + if(!can_use(usr)) + return + var/datum/hud/our_hud = usr.hud_used + if(over_object == src) + our_hud.hide_landings() + return + if(istype(over_object, /atom/movable/screen/action_landing)) + var/atom/movable/screen/action_landing/reserve = over_object + reserve.hit_by(src) + our_hud.hide_landings() + save_position() return - var/list/modifiers = params2list(params) - if(modifiers["shift"]) - if(locked) - to_chat(usr, "Action button \"[name]\" is locked, unlock it first.") - return TRUE - moved = FALSE - usr.update_action_buttons(TRUE) - return TRUE - if(modifiers["ctrl"]) - locked = !locked - to_chat(usr, "Action button \"[name]\" [locked ? "" : "un"]locked.") - if(id && usr.client) //try to (un)remember position - usr.client.prefs.action_buttons_screen_locs["[name]_[id]"] = locked ? moved : null - return TRUE - if(modifiers["alt"]) - for(var/V in usr.actions) - var/datum/action/A = V - var/atom/movable/screen/movable/action_button/B = A.button - B.moved = FALSE - if(B.id && usr.client) - usr.client.prefs.action_buttons_screen_locs["[B.name]_[B.id]"] = null - B.locked = usr.client.prefs.buttons_locked - locked = usr.client.prefs.buttons_locked - moved = FALSE - if(id && usr.client) - usr.client.prefs.action_buttons_screen_locs["[name]_[id]"] = null - usr.update_action_buttons(TRUE) - to_chat(usr, "Action button positions have been reset.") - return TRUE - usr.hud_used.action_buttons_hidden = !usr.hud_used.action_buttons_hidden - - hidden = usr.hud_used.action_buttons_hidden - if(hidden) - name = "Show Buttons" - else - name = "Hide Buttons" - update_icon() - usr.update_action_buttons() - -/atom/movable/screen/movable/action_button/hide_toggle/AltClick(mob/user) - for(var/V in user.actions) - var/datum/action/A = V - var/atom/movable/screen/movable/action_button/B = A.button - B.moved = FALSE - if(moved) - moved = FALSE - user.update_action_buttons(TRUE) - to_chat(user, "Action button positions have been reset.") - return TRUE - - -/atom/movable/screen/movable/action_button/hide_toggle/proc/InitialiseIcon(datum/hud/owner_hud) - var/settings = owner_hud.get_action_buttons_icons() - icon = settings["bg_icon"] - icon_state = settings["bg_state"] - hide_icon = settings["toggle_icon"] - hide_state = settings["toggle_hide"] - show_state = settings["toggle_show"] - update_icon() - -/atom/movable/screen/movable/action_button/hide_toggle/update_overlays() + our_hud.hide_landings() + if(istype(over_object, /atom/movable/screen/button_palette) || istype(over_object, /atom/movable/screen/palette_scroll)) + our_hud.position_action(src, SCRN_OBJ_IN_PALETTE) + save_position() + return + if(istype(over_object, /atom/movable/screen/movable/action_button)) + var/atom/movable/screen/movable/action_button/button = over_object + our_hud.position_action_relative(src, button) + save_position() + return . = ..() - if(hidden) - . += show_appearance - else - . += hide_appearance + our_hud.position_action(src, screen_loc) + save_position() +/atom/movable/screen/movable/action_button/proc/save_position() + var/mob/user = our_hud.mymob + if(!user?.client) + return + var/position_info = "" + switch(location) + if(SCRN_OBJ_FLOATING) + position_info = screen_loc + if(SCRN_OBJ_IN_LIST) + position_info = SCRN_OBJ_IN_LIST + if(SCRN_OBJ_IN_PALETTE) + position_info = SCRN_OBJ_IN_PALETTE -/atom/movable/screen/movable/action_button/MouseEntered(location,control,params) - if(!QDELETED(src)) - openToolTip(usr,src,params,title = name,content = desc,theme = actiontooltipstyle) + user.client.prefs.action_buttons_screen_locs["[name]_[id]"] = position_info + user.client.prefs.queue_save_pref(1 SECONDS, TRUE) +/atom/movable/screen/movable/action_button/proc/load_position() + var/mob/user = our_hud.mymob + if(!user) + return + var/position_info = user.client?.prefs?.action_buttons_screen_locs["[name]_[id]"] || SCRN_OBJ_DEFAULT + user.hud_used.position_action(src, position_info) -/atom/movable/screen/movable/action_button/MouseExited() - closeToolTip(usr) +/atom/movable/screen/movable/action_button/proc/dump_save() + var/mob/user = our_hud.mymob + if(!user?.client) + return + user.client.prefs.action_buttons_screen_locs -= "[name]_[id]" + user.client.prefs.queue_save_pref(1 SECONDS, TRUE) /datum/hud/proc/get_action_buttons_icons() . = list() .["bg_icon"] = ui_style .["bg_state"] = "template" - //TODO : Make these fit theme - .["toggle_icon"] = 'icons/mob/actions.dmi' - .["toggle_hide"] = "hide" - .["toggle_show"] = "show" - //see human and alien hud for specific implementations. /mob/proc/update_action_buttons_icon(status_only = FALSE) for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon(status_only) + A.UpdateButtons(status_only) //This is the proc used to update all the action buttons. /mob/proc/update_action_buttons(reload_screen) @@ -191,56 +161,243 @@ if(hud_used.hud_shown != HUD_STYLE_STANDARD) return - var/button_number = 0 - var/list/cview = getviewsize(client.view) - var/supportedcolumns = cview[1]-2 + for(var/datum/action/action as anything in actions) + var/atom/movable/screen/movable/action_button/button = action.viewers[hud_used] + action.UpdateButtons() + if(reload_screen) + client.screen += button - if(hud_used.action_buttons_hidden) - for(var/datum/action/A in actions) - A.button.screen_loc = null - if(reload_screen) - client.screen += A.button - else - for(var/datum/action/A in actions) - A.UpdateButtonIcon() - var/atom/movable/screen/movable/action_button/B = A.button - if(B.ordered) - button_number++ - if(B.moved) - B.screen_loc = B.moved - else - B.screen_loc = hud_used.ButtonNumberToScreenCoords(button_number, supportedcolumns) - if(reload_screen) - client.screen += B - - if(!button_number) - hud_used.hide_actions_toggle.screen_loc = null - return - - if(!hud_used.hide_actions_toggle.moved) - hud_used.hide_actions_toggle.screen_loc = hud_used.ButtonNumberToScreenCoords(button_number+1, supportedcolumns) - else - hud_used.hide_actions_toggle.screen_loc = hud_used.hide_actions_toggle.moved if(reload_screen) - client.screen += hud_used.hide_actions_toggle + hud_used.update_our_owner() + // This holds the logic for the palette buttons + hud_used.palette_actions.refresh_actions() -/datum/hud/proc/ButtonNumberToScreenCoords(number, supportedcolumns) // TODO : Make this zero-indexed for readabilty - var/row = round((number - 1)/supportedcolumns) - var/col = ((number - 1)%(supportedcolumns)) + 1 +/atom/movable/screen/button_palette + desc = "Drag buttons to move them
    Shift-click any button to reset it
    Alt-click this to reset all buttons" + icon = 'icons/hud/64x16_actions.dmi' + icon_state = "screen_gen_palette" + screen_loc = ui_action_palette + var/datum/hud/our_hud + var/expanded = FALSE + /// Id of any currently running timers that set our color matrix + var/color_timer_id - var/coord_col = "+[col-1]" - var/coord_col_offset = 2 + 2 * col +/atom/movable/screen/button_palette/Destroy() + if(our_hud) + our_hud.mymob?.client?.screen -= src + our_hud.toggle_palette = null + our_hud = null + return ..() - var/coord_row = "[row ? -row : "+0"]" +/atom/movable/screen/button_palette/Initialize(mapload) + . = ..() + update_appearance() - return "WEST[coord_col]:[coord_col_offset],NORTH[coord_row]:-6" +/atom/movable/screen/button_palette/proc/set_hud(datum/hud/our_hud) + src.our_hud = our_hud + refresh_owner() -/datum/hud/proc/SetButtonCoords(atom/movable/screen/button,number, supportedcolumns) - var/row = round((number-1)/supportedcolumns) - var/col = ((number - 1)%(supportedcolumns)) + 1 - var/x_offset = 32*(col-1) + 4 + 2*col - var/y_offset = -32*(row+1) + 26 +/atom/movable/screen/button_palette/update_name(updates) + . = ..() + if(expanded) + name = "Hide Buttons" + else + name = "Show Buttons" - var/matrix/M = matrix() - M.Translate(x_offset,y_offset) - button.transform = M +/atom/movable/screen/button_palette/proc/refresh_owner() + var/mob/viewer = our_hud.mymob + if(viewer.client) + viewer.client.screen |= src + + var/list/settings = our_hud.get_action_buttons_icons() + var/ui_icon = "[settings["bg_icon"]]" + var/list/ui_segments = splittext(ui_icon, ".") + var/list/ui_paths = splittext(ui_segments[1], "/") + var/ui_name = ui_paths[length(ui_paths)] + + icon_state = "[ui_name]_palette" + +/atom/movable/screen/button_palette/MouseEntered(location, control, params) + . = ..() + if(QDELETED(src)) + return + show_tooltip(params) + +/atom/movable/screen/button_palette/MouseExited() + closeToolTip(usr) + return ..() + +/atom/movable/screen/button_palette/proc/show_tooltip(params) + openToolTip(usr, src, params, title = name, content = desc) + +GLOBAL_LIST_INIT(palette_added_matrix, list(0.4,0.5,0.2,0, 0,1.4,0,0, 0,0.4,0.6,0, 0,0,0,1, 0,0,0,0)) +GLOBAL_LIST_INIT(palette_removed_matrix, list(1.4,0,0,0, 0.7,0.4,0,0, 0.4,0,0.6,0, 0,0,0,1, 0,0,0,0)) + +/atom/movable/screen/button_palette/proc/play_item_added() + color_for_now(GLOB.palette_added_matrix) + +/atom/movable/screen/button_palette/proc/play_item_removed() + color_for_now(GLOB.palette_removed_matrix) + +/atom/movable/screen/button_palette/proc/color_for_now(list/color) + if(color_timer_id) + return + add_atom_colour(color, TEMPORARY_COLOUR_PRIORITY) //We unfortunately cannot animate matrix colors. Curse you lummy it would be ~~non~~trivial to interpolate between the two valuessssssssss + color_timer_id = addtimer(CALLBACK(src, .proc/remove_color, color), 2 SECONDS) + +/atom/movable/screen/button_palette/proc/remove_color(list/to_remove) + color_timer_id = null + remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, to_remove) + +/atom/movable/screen/button_palette/proc/can_use(mob/user) + if (isobserver(user)) + var/mob/dead/observer/O = user + return !O.observetarget + return TRUE + +/atom/movable/screen/button_palette/Click(location, control, params) + if(!can_use(usr)) + return + + var/list/modifiers = params2list(params) + + if(LAZYACCESS(modifiers, ALT_CLICK)) + for(var/datum/action/action as anything in usr.actions) // Reset action positions to default + for(var/datum/hud/hud as anything in action.viewers) + var/atom/movable/screen/movable/action_button/button = action.viewers[hud] + hud.position_action(button, SCRN_OBJ_DEFAULT) + to_chat(usr, span_notice("Action button positions have been reset.")) + return TRUE + + set_expanded(!expanded) + +/atom/movable/screen/button_palette/proc/clicked_while_open(datum/source, atom/target, atom/location, control, params, mob/user) + if(istype(target, /atom/movable/screen/movable/action_button) || istype(target, /atom/movable/screen/palette_scroll) || target == src) // If you're clicking on an action button, or us, you can live + return + set_expanded(FALSE) + if(source) + UnregisterSignal(source, COMSIG_CLIENT_CLICK) + +/atom/movable/screen/button_palette/proc/set_expanded(new_expanded) + var/datum/action_group/our_group = our_hud.palette_actions + if(!length(our_group.actions)) //Looks dumb, trust me lad + new_expanded = FALSE + if(expanded == new_expanded) + return + + expanded = new_expanded + our_group.refresh_actions() + update_appearance() + + if(!usr.client) + return + + if(expanded) + RegisterSignal(usr.client, COMSIG_CLIENT_CLICK, .proc/clicked_while_open) + else + UnregisterSignal(usr.client, COMSIG_CLIENT_CLICK) + + closeToolTip(usr) //Our tooltips are now invalid, can't seem to update them in one frame, so here, just close them + +/atom/movable/screen/palette_scroll + icon = 'icons/mob/screen_gen.dmi' + screen_loc = ui_palette_scroll + /// How should we move the palette's actions? + /// Positive scrolls down the list, negative scrolls back + var/scroll_direction = 0 + var/datum/hud/our_hud + +/atom/movable/screen/palette_scroll/proc/can_use(mob/user) + if (isobserver(user)) + var/mob/dead/observer/O = user + return !O.observetarget + return TRUE + +/atom/movable/screen/palette_scroll/proc/set_hud(datum/hud/our_hud) + src.our_hud = our_hud + refresh_owner() + +/atom/movable/screen/palette_scroll/proc/refresh_owner() + var/mob/viewer = our_hud.mymob + if(viewer.client) + viewer.client.screen |= src + + var/list/settings = our_hud.get_action_buttons_icons() + icon = settings["bg_icon"] + +/atom/movable/screen/palette_scroll/Click(location, control, params) + if(!can_use(usr)) + return + our_hud.palette_actions.scroll(scroll_direction) + +/atom/movable/screen/palette_scroll/MouseEntered(location, control, params) + . = ..() + if(QDELETED(src)) + return + openToolTip(usr, src, params, title = name, content = desc) + +/atom/movable/screen/palette_scroll/MouseExited() + closeToolTip(usr) + return ..() + +/atom/movable/screen/palette_scroll/down + name = "Scroll Down" + desc = "Click on this to scroll the actions above down" + icon_state = "scroll_down" + scroll_direction = 1 + +/atom/movable/screen/palette_scroll/down/Destroy() + if(our_hud) + our_hud.mymob?.client?.screen -= src + our_hud.palette_down = null + our_hud = null + return ..() + +/atom/movable/screen/palette_scroll/up + name = "Scroll Up" + desc = "Click on this to scroll the actions above up" + icon_state = "scroll_up" + scroll_direction = -1 + +/atom/movable/screen/palette_scroll/up/Destroy() + if(our_hud) + our_hud.mymob?.client?.screen -= src + our_hud.palette_up = null + our_hud = null + return ..() + +/// Exists so you have a place to put your buttons when you move them around +/atom/movable/screen/action_landing + name = "Button Space" + desc = "Drag and drop a button into this spot
    to add it to the group" + icon = 'icons/mob/screen_gen.dmi' + icon_state = "reserved" + // We want our whole 32x32 space to be clickable, so dropping's forgiving + mouse_opacity = MOUSE_OPACITY_OPAQUE + var/datum/action_group/owner + +/atom/movable/screen/action_landing/Destroy() + if(owner) + owner.landing = null + owner?.owner?.mymob?.client?.screen -= src + owner.refresh_actions() + owner = null + return ..() + +/atom/movable/screen/action_landing/proc/set_owner(datum/action_group/owner) + src.owner = owner + refresh_owner() + +/atom/movable/screen/action_landing/proc/refresh_owner() + var/datum/hud/our_hud = owner.owner + var/mob/viewer = our_hud.mymob + if(viewer.client) + viewer.client.screen |= src + + var/list/settings = our_hud.get_action_buttons_icons() + icon = settings["bg_icon"] + +/// Reacts to having a button dropped on it +/atom/movable/screen/action_landing/proc/hit_by(atom/movable/screen/movable/action_button/button) + var/datum/hud/our_hud = owner.owner + our_hud.position_action(button, owner.location) diff --git a/code/_onclick/hud/ai.dm b/code/_onclick/hud/ai.dm index 17b5a9ed61..5f8b10fd31 100644 --- a/code/_onclick/hud/ai.dm +++ b/code/_onclick/hud/ai.dm @@ -194,7 +194,7 @@ // Language menu using = new /atom/movable/screen/language_menu - using.screen_loc = ui_borg_language_menu + using.screen_loc = ui_ai_language_menu using.hud = src static_inventory += using diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 40dd16e2f2..060e44e007 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -75,9 +75,9 @@ /mob/proc/clear_alert(category, clear_override = FALSE) var/atom/movable/screen/alert/alert = alerts[category] if(!alert) - return 0 + return FALSE if(alert.override_alerts && !clear_override) - return 0 + return FALSE alerts -= category if(client && hud_used) @@ -784,7 +784,7 @@ so as to remain in compliance with the most up-to-date laws." if(!hud_shown) for(var/i = 1, i <= alerts.len, i++) screenmob.client.screen -= alerts[alerts[i]] - return 1 + return TRUE for(var/i = 1, i <= alerts.len, i++) var/atom/movable/screen/alert/alert = alerts[alerts[i]] if(alert.icon_state == "template") @@ -807,7 +807,7 @@ so as to remain in compliance with the most up-to-date laws." if(!viewmob) for(var/M in mymob.observers) reorganize_alerts(M) - return 1 + return TRUE /atom/movable/screen/alert/Click(location, control, params) if(!usr || !usr.client) diff --git a/code/_onclick/hud/credits.dm b/code/_onclick/hud/credits.dm index 4b58d238e0..73986095de 100644 --- a/code/_onclick/hud/credits.dm +++ b/code/_onclick/hud/credits.dm @@ -44,7 +44,7 @@ icon = I parent = P icon_state = credited - maptext = MAPTEXT(credited) + maptext = MAPTEXT_PIXELLARI(credited) maptext_x = world.icon_size + 8 maptext_y = (world.icon_size / 2) - 4 maptext_width = world.icon_size * 3 diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 9d762332c6..53d69fe01e 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -11,7 +11,10 @@ GLOBAL_LIST_INIT(available_ui_styles, list( "Plasmafire" = 'icons/mob/screen_plasmafire.dmi', "Slimecore" = 'icons/mob/screen_slimecore.dmi', "Operative" = 'icons/mob/screen_operative.dmi', - "Clockwork" = 'icons/mob/screen_clockwork.dmi' + "Glass" = 'icons/mob/screen_glass.dmi', + "Clockwork" = 'icons/mob/screen_clockwork.dmi', + "Trasen-Knox" = 'icons/mob/screen_trasenknox.dmi', + "Detective" = 'icons/mob/screen_detective.dmi', )) /proc/ui_style2icon(ui_style) @@ -73,8 +76,13 @@ GLOBAL_LIST_INIT(available_ui_styles, list( // We don't actually do proccalls really yet, so let's grab at prefs - var/atom/movable/screen/movable/action_button/hide_toggle/hide_actions_toggle - var/action_buttons_hidden = FALSE + var/atom/movable/screen/button_palette/toggle_palette + var/atom/movable/screen/palette_scroll/down/palette_down + var/atom/movable/screen/palette_scroll/up/palette_up + + var/datum/action_group/palette/palette_actions + var/datum/action_group/listed/listed_actions + var/list/floating_actions var/atom/movable/screen/healths var/atom/movable/screen/healthdoll @@ -91,10 +99,12 @@ GLOBAL_LIST_INIT(available_ui_styles, list( // will fall back to the default if any of these are null ui_style = ui_style2icon(owner.client && owner.client.prefs && owner.client.prefs.UI_style) - hide_actions_toggle = new - hide_actions_toggle.InitialiseIcon(src) - if(mymob.client) - hide_actions_toggle.locked = mymob.client.prefs.buttons_locked + toggle_palette = new() + toggle_palette.set_hud(src) + palette_down = new() + palette_down.set_hud(src) + palette_up = new() + palette_up.set_hud(src) hand_slots = list() @@ -110,7 +120,13 @@ GLOBAL_LIST_INIT(available_ui_styles, list( if(mymob.hud_used == src) mymob.hud_used = null - QDEL_NULL(hide_actions_toggle) + QDEL_NULL(toggle_palette) + QDEL_NULL(palette_down) + QDEL_NULL(palette_up) + QDEL_NULL(palette_actions) + QDEL_NULL(listed_actions) + QDEL_LIST(floating_actions) + QDEL_NULL(module_store_icon) QDEL_LIST(static_inventory) @@ -148,10 +164,14 @@ GLOBAL_LIST_INIT(available_ui_styles, list( /mob/proc/create_mob_hud() if(!client || hud_used) return - hud_used = new hud_type(src) + set_hud_used(new hud_type(src)) update_sight() SEND_SIGNAL(src, COMSIG_MOB_HUD_CREATED) +/mob/proc/set_hud_used(datum/hud/new_hud) + hud_used = new_hud + new_hud.build_action_groups() + //Version denotes which style should be displayed. blank or 0 means "next version" /datum/hud/proc/show_hud(version = 0, mob/viewmob) if(!ismob(mymob)) @@ -160,6 +180,8 @@ GLOBAL_LIST_INIT(available_ui_styles, list( if(!screenmob.client) return FALSE + // This code is the absolute fucking worst, I want it to go die in a fire + // Seriously, why screenmob.client.screen = list() screenmob.client.update_clickcatcher() @@ -181,7 +203,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list( if(infodisplay.len) screenmob.client.screen += infodisplay - screenmob.client.screen += hide_actions_toggle + screenmob.client.screen += toggle_palette if(action_intent) action_intent.screen_loc = initial(action_intent.screen_loc) //Restore intent selection to the original position @@ -272,7 +294,6 @@ GLOBAL_LIST_INIT(available_ui_styles, list( ui_style = new_ui_style build_hand_slots() - hide_actions_toggle.InitialiseIcon(src) //Triggered when F12 is pressed (Unless someone changed something in the DMF) /mob/verb/button_pressed_F12() @@ -320,3 +341,312 @@ GLOBAL_LIST_INIT(available_ui_styles, list( /datum/hud/proc/update_locked_slots() return + +/datum/hud/proc/position_action(atom/movable/screen/movable/action_button/button, position) + // This is kinda a hack, I'm sorry. + // Basically, FLOATING is never a valid position to pass into this proc. It exists as a generic marker for manually positioned buttons + // Not as a position to target + if(position == SCRN_OBJ_FLOATING) + return + if(button.location != SCRN_OBJ_DEFAULT) + hide_action(button) + switch(position) + if(SCRN_OBJ_DEFAULT) // Reset to the default + button.dump_save() // Nuke any existing saves + position_action(button, button.linked_action.default_button_position) + return + if(SCRN_OBJ_IN_LIST) + listed_actions.insert_action(button) + if(SCRN_OBJ_IN_PALETTE) + palette_actions.insert_action(button) + else // If we don't have it as a define, this is a screen_loc, and we should be floating + floating_actions += button + button.screen_loc = position + position = SCRN_OBJ_FLOATING + + button.location = position + +/datum/hud/proc/position_action_relative(atom/movable/screen/movable/action_button/button, atom/movable/screen/movable/action_button/relative_to) + if(button.location != SCRN_OBJ_DEFAULT) + hide_action(button) + switch(relative_to.location) + if(SCRN_OBJ_IN_LIST) + listed_actions.insert_action(button, listed_actions.index_of(relative_to)) + if(SCRN_OBJ_IN_PALETTE) + palette_actions.insert_action(button, palette_actions.index_of(relative_to)) + if(SCRN_OBJ_FLOATING) // If we don't have it as a define, this is a screen_loc, and we should be floating + floating_actions += button + var/client/our_client = mymob.client + if(!our_client) + position_action(button, button.linked_action.default_button_position) + return + button.screen_loc = get_valid_screen_location(relative_to.screen_loc, world.icon_size, our_client.view_size.getView()) // Asks for a location adjacent to our button that won't overflow the map + + button.location = relative_to.location + +/// Removes the passed in action from its current position on the screen +/datum/hud/proc/hide_action(atom/movable/screen/movable/action_button/button) + switch(button.location) + if(SCRN_OBJ_DEFAULT) // Invalid + CRASH("We just tried to hide an action buttion that somehow has the default position as its location, you done fucked up") + if(SCRN_OBJ_FLOATING) + floating_actions -= button + if(SCRN_OBJ_IN_LIST) + listed_actions.remove_action(button) + if(SCRN_OBJ_IN_PALETTE) + palette_actions.remove_action(button) + button.screen_loc = null + +/// Generates visual landings for all groups that the button is not a memeber of +/datum/hud/proc/generate_landings(atom/movable/screen/movable/action_button/button) + listed_actions.generate_landing() + palette_actions.generate_landing() + +/// Clears all currently visible landings +/datum/hud/proc/hide_landings() + listed_actions.clear_landing() + palette_actions.clear_landing() + +// Updates any existing "owned" visuals, ensures they continue to be visible +/datum/hud/proc/update_our_owner() + toggle_palette.refresh_owner() + palette_down.refresh_owner() + palette_up.refresh_owner() + listed_actions.update_landing() + palette_actions.update_landing() + +/// Ensures all of our buttons are properly within the bounds of our client's view, moves them if they're not +/datum/hud/proc/view_audit_buttons() + var/our_view = mymob?.client?.view + if(!our_view) + return + listed_actions.check_against_view() + palette_actions.check_against_view() + for(var/atom/movable/screen/movable/action_button/floating_button as anything in floating_actions) + var/list/current_offsets = screen_loc_to_offset(floating_button.screen_loc) + // We set the view arg here, so the output will be properly hemm'd in by our new view + floating_button.screen_loc = offset_to_screen_loc(current_offsets[1], current_offsets[2], view = our_view) + +/// Generates and fills new action groups with our mob's current actions +/datum/hud/proc/build_action_groups() + listed_actions = new(src) + palette_actions = new(src) + floating_actions = list() + for(var/datum/action/action as anything in mymob.actions) + var/atom/movable/screen/movable/action_button/button = action.viewers[src] + if(!button) + action.ShowTo(mymob) + button = action.viewers[src] + else + position_action(button, button.location) + +/datum/action_group + /// The hud we're owned by + var/datum/hud/owner + /// The actions we're managing + var/list/atom/movable/screen/movable/action_button/actions + /// The initial vertical offset of our action buttons + var/north_offset = 0 + /// The pixel vertical offset of our action buttons + var/pixel_north_offset = 0 + /// Max amount of buttons we can have per row + /// Indexes at 1 + var/column_max = 0 + /// How far "ahead" of the first row we start. Lets us "scroll" our rows + /// Indexes at 1 + var/row_offset = 0 + /// How many rows of actions we can have at max before we just stop hiding + /// Indexes at 1 + var/max_rows = INFINITY + /// The screen location we go by + var/location + /// Our landing screen object + var/atom/movable/screen/action_landing/landing + +/datum/action_group/New(datum/hud/owner) + ..() + actions = list() + src.owner = owner + +/datum/action_group/Destroy() + owner = null + QDEL_NULL(landing) + QDEL_LIST(actions) + return ..() + +/datum/action_group/proc/insert_action(atom/movable/screen/action, index) + if(action in actions) + if(actions[index] == action) + return + actions -= action // Don't dupe, come on + if(!index) + index = length(actions) + 1 + index = min(length(actions) + 1, index) + actions.Insert(index, action) + refresh_actions() + +/datum/action_group/proc/remove_action(atom/movable/screen/action) + actions -= action + refresh_actions() + +/datum/action_group/proc/refresh_actions() + + // We don't use size() here because landings are not canon + var/total_rows = ROUND_UP(length(actions) / column_max) + total_rows -= max_rows // Lets get the amount of rows we're off from our max + row_offset = clamp(row_offset, 0, total_rows) // You're not allowed to offset so far that we have a row of blank space + + var/button_number = 0 + for(var/atom/movable/screen/button as anything in actions) + var/postion = ButtonNumberToScreenCoords(button_number ) + button.screen_loc = postion + button_number++ + + if(landing) + var/postion = ButtonNumberToScreenCoords(button_number, landing = TRUE) // Need a good way to count buttons off screen, but allow this to display in the right place if it's being placed with no concern for dropdown + landing.screen_loc = postion + button_number++ + +/// Accepts a number represeting our position in the group, indexes at 0 to make the math nicer +/datum/action_group/proc/ButtonNumberToScreenCoords(number, landing = FALSE) + var/row = round(number / column_max) + row -= row_offset // If you're less then 0, you don't get to render, this lets us "scroll" rows ya feel? + if(row < 0) + return null + + // Could use >= here, but I think it's worth noting that the two start at different places, since row is based on number here + if(row > max_rows - 1) + if(!landing) // If you're not a landing, go away please. thx + return null + // We always want to render landings, even if their action button can't be displayed. + // So we set a row equal to the max amount of rows + 1. Willing to overrun that max slightly to properly display the landing spot + row = max_rows // Remembering that max_rows indexes at 1, and row indexes at 0 + + // We're going to need to set our column to match the first item in the last row, so let's set number properly now + number = row * column_max + + var/visual_row = row + north_offset + var/coord_row = visual_row ? "-[visual_row]" : "+0" + + var/visual_column = number % column_max + var/coord_col = "+[visual_column]" + var/coord_col_offset = 4 + 2 * (visual_column + 1) + return "WEST[coord_col]:[coord_col_offset],NORTH[coord_row]:-[pixel_north_offset]" + +/datum/action_group/proc/check_against_view() + var/owner_view = owner?.mymob?.client?.view + if(!owner_view) + return + // Unlikey as it is, we may have been changed. Want to start from our target position and fail down + column_max = initial(column_max) + // Convert our viewer's view var into a workable offset + var/list/view_size = view_to_pixels(owner_view) + + // We're primarially concerned about width here, if someone makes us 1x2000 I wish them a swift and watery death + var/furthest_screen_loc = ButtonNumberToScreenCoords(column_max - 1) + var/list/offsets = screen_loc_to_offset(furthest_screen_loc, owner_view) + if(offsets[1] > world.icon_size && offsets[1] < view_size[1] && offsets[2] > world.icon_size && offsets[2] < view_size[2]) // We're all good + return + + for(column_max in column_max - 1 to 1 step -1) // Yes I could do this by unwrapping ButtonNumberToScreenCoords, but I don't feel like it + var/tested_screen_loc = ButtonNumberToScreenCoords(column_max) + offsets = screen_loc_to_offset(tested_screen_loc, owner_view) + // We've found a valid max length, pack it in + if(offsets[1] > world.icon_size && offsets[1] < view_size[1] && offsets[2] > world.icon_size && offsets[2] < view_size[2]) + break + // Use our newly resized column max + refresh_actions() + +/// Returns the amount of objects we're storing at the moment +/datum/action_group/proc/size() + var/amount = length(actions) + if(landing) + amount += 1 + return amount + +/datum/action_group/proc/index_of(atom/movable/screen/get_location) + return actions.Find(get_location) + +/// Generates a landing object that can be dropped on to join this group +/datum/action_group/proc/generate_landing() + if(landing) + return + landing = new() + landing.set_owner(src) + refresh_actions() + +/// Clears any landing objects we may currently have +/datum/action_group/proc/clear_landing() + QDEL_NULL(landing) + +/datum/action_group/proc/update_landing() + if(!landing) + return + landing.refresh_owner() + +/datum/action_group/proc/scroll(amount) + row_offset += amount + refresh_actions() + +/datum/action_group/palette + north_offset = 2 + column_max = 3 + max_rows = 3 + location = SCRN_OBJ_IN_PALETTE + +/datum/action_group/palette/insert_action(atom/movable/screen/action, index) + . = ..() + var/atom/movable/screen/button_palette/palette = owner.toggle_palette + palette.play_item_added() + +/datum/action_group/palette/remove_action(atom/movable/screen/action) + . = ..() + var/atom/movable/screen/button_palette/palette = owner.toggle_palette + palette.play_item_removed() + if(!length(actions)) + palette.set_expanded(FALSE) + +/datum/action_group/palette/refresh_actions() + var/atom/movable/screen/button_palette/palette = owner.toggle_palette + var/atom/movable/screen/palette_scroll/scroll_down = owner.palette_down + var/atom/movable/screen/palette_scroll/scroll_up = owner.palette_up + + var/actions_above = round((owner.listed_actions.size() - 1) / owner.listed_actions.column_max) + north_offset = initial(north_offset) + actions_above + + palette.screen_loc = ui_action_palette_offset(actions_above) + var/action_count = length(owner?.mymob?.actions) + var/our_row_count = round((length(actions) - 1) / column_max) + if(!action_count) + palette.screen_loc = null + + if(palette.expanded && action_count && our_row_count >= max_rows) + scroll_down.screen_loc = ui_palette_scroll_offset(actions_above) + scroll_up.screen_loc = ui_palette_scroll_offset(actions_above) + else + scroll_down.screen_loc = null + scroll_up.screen_loc = null + + return ..() + +/datum/action_group/palette/ButtonNumberToScreenCoords(number, landing) + var/atom/movable/screen/button_palette/palette = owner.toggle_palette + if(palette.expanded) + return ..() + + if(!landing) + return null + + // We only render the landing in this case, so we force it to be the second item displayed (Second rather then first since it looks nicer) + // Remember the number var indexes at 0 + return ..(1 + (row_offset * column_max), landing) + + +/datum/action_group/listed + pixel_north_offset = 6 + column_max = 10 + location = SCRN_OBJ_IN_LIST + +/datum/action_group/listed/refresh_actions() + . = ..() + owner?.palette_actions.refresh_actions() // We effect them, so we gotta refresh em diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 9547ee6f86..8e7953bdd5 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -29,7 +29,7 @@ /atom/movable/screen/human/equip/Click() if(ismecha(usr.loc)) // stops inventory actions in a mech - return 1 + return TRUE var/mob/living/carbon/human/H = usr H.quick_equip() @@ -44,7 +44,7 @@ /atom/movable/screen/devil/soul_counter/proc/update_counter(souls = 0) invisibility = 0 - maptext = "
    [souls]
    " + maptext = MAPTEXT("
    [souls]
    ") switch(souls) if(0,null) icon_state = "Devil-1" @@ -103,7 +103,7 @@ ..() var/valuecolor = "#ff2525" if(owner.stat == DEAD) - maptext = "
    ERR-0F
    " + maptext = MAPTEXT("
    ERR-0F
    ") icon_state = "coolant-3-1" return var/coolant_efficiency @@ -123,7 +123,7 @@ valuecolor = "#dd8109" else if(coolant > BLOOD_VOLUME_SURVIVE * owner.blood_ratio) valuecolor = "#e7520d" - maptext = "
    [round((coolant / (BLOOD_VOLUME_NORMAL * owner.blood_ratio)) * 100, 1)]
    " + maptext = MAPTEXT("
    [round((coolant / (BLOOD_VOLUME_NORMAL * owner.blood_ratio)) * 100, 1)]
    ") var/efficiency_suffix var/state_suffix @@ -324,11 +324,11 @@ using.hud = src hotkeybuttons += using - using = new /atom/movable/screen/rest() - using.icon = ui_style - using.screen_loc = ui_pull_resist - using.hud = src - static_inventory += using + rest_icon = new /atom/movable/screen/rest() + rest_icon.icon = ui_style + rest_icon.screen_loc = ui_pull_resist + rest_icon.hud = src + static_inventory += rest_icon //END OF CIT CHANGES using = new /atom/movable/screen/human/toggle() diff --git a/code/_onclick/hud/movable_screen_objects.dm b/code/_onclick/hud/movable_screen_objects.dm index eeb56d67f5..6c9f852ef5 100644 --- a/code/_onclick/hud/movable_screen_objects.dm +++ b/code/_onclick/hud/movable_screen_objects.dm @@ -9,9 +9,8 @@ //Not tied to the grid, places it's center where the cursor is /atom/movable/screen/movable + mouse_drag_pointer = 'icons/effects/mouse_pointers/screen_drag.dmi' var/snap2grid = FALSE - var/moved = FALSE - var/locked = FALSE var/x_off = -16 var/y_off = -16 @@ -21,35 +20,29 @@ /atom/movable/screen/movable/snap snap2grid = TRUE - /atom/movable/screen/movable/MouseDrop(over_object, src_location, over_location, src_control, over_control, params) - if(locked) //no! I am locked! begone! + var/position = mouse_params_to_position(params) + if(!position) return - var/list/PM = params2list(params) + + screen_loc = position + +/// Takes mouse parmas as input, returns a string representing the appropriate mouse position +/atom/movable/screen/movable/proc/mouse_params_to_position(params) + var/list/modifiers = params2list(params) //No screen-loc information? abort. - if(!PM || !PM["screen-loc"]) + if(!LAZYACCESS(modifiers, SCREEN_LOC)) return - - //Split screen-loc up into X+Pixel_X and Y+Pixel_Y - var/list/screen_loc_params = splittext(PM["screen-loc"], ",") - - //Split X+Pixel_X up into list(X, Pixel_X) - var/list/screen_loc_X = splittext(screen_loc_params[1],":") - - //Split Y+Pixel_Y up into list(Y, Pixel_Y) - var/list/screen_loc_Y = splittext(screen_loc_params[2],":") - + var/client/our_client = usr.client + var/list/offset = screen_loc_to_offset(LAZYACCESS(modifiers, SCREEN_LOC)) if(snap2grid) //Discard Pixel Values - screen_loc = "[screen_loc_X[1]],[screen_loc_Y[1]]" - + offset[1] = FLOOR(offset[1], world.icon_size) // drops any pixel offset + offset[2] = FLOOR(offset[2], world.icon_size) // drops any pixel offset else //Normalise Pixel Values (So the object drops at the center of the mouse, not 16 pixels off) - var/pix_X = text2num(screen_loc_X[2]) + x_off - var/pix_Y = text2num(screen_loc_Y[2]) + y_off - screen_loc = "[screen_loc_X[1]]:[pix_X],[screen_loc_Y[1]]:[pix_Y]" - - moved = screen_loc - + offset[1] += x_off + offset[2] += y_off + return offset_to_screen_loc(offset[1], offset[2], our_client?.view) //Debug procs /client/proc/test_movable_UI() @@ -59,7 +52,7 @@ var/atom/movable/screen/movable/M = new() M.name = "Movable UI Object" M.icon_state = "block" - M.maptext = "Movable" + M.maptext = MAPTEXT("Movable") M.maptext_width = 64 var/screen_l = input(usr,"Where on the screen? (Formatted as 'X,Y' e.g: '1,1' for bottom left)","Spawn Movable UI Object") as text @@ -78,7 +71,7 @@ var/atom/movable/screen/movable/snap/S = new() S.name = "Snap UI Object" S.icon_state = "block" - S.maptext = "Snap" + S.maptext = MAPTEXT("Snap") S.maptext_width = 64 var/screen_l = input(usr,"Where on the screen? (Formatted as 'X,Y' e.g: '1,1' for bottom left)","Spawn Snap UI Object") as text diff --git a/code/_onclick/hud/new_player.dm b/code/_onclick/hud/new_player.dm index 77b225d82e..539b842375 100644 --- a/code/_onclick/hud/new_player.dm +++ b/code/_onclick/hud/new_player.dm @@ -5,6 +5,12 @@ ///Whether the menu is currently on the client's screen or not var/menu_hud_status = TRUE +/datum/hud/new_player/New(mob/dead/new_player/owner) + . = ..() + if(!owner.age_verify()) + return + populate_buttons(owner) + /datum/hud/new_player/proc/populate_buttons(mob/dead/new_player/owner) var/list/buttons = subtypesof(/atom/movable/screen/lobby) for(var/button_type in buttons) diff --git a/code/_onclick/hud/radial.dm b/code/_onclick/hud/radial.dm index 60a78e5ff3..7ddcd1c9f0 100644 --- a/code/_onclick/hud/radial.dm +++ b/code/_onclick/hud/radial.dm @@ -261,7 +261,7 @@ GLOBAL_LIST_EMPTY(radial_menus) //Blank menu_holder = image(icon='icons/effects/effects.dmi',loc=anchor,icon_state="nothing",layer = ABOVE_HUD_LAYER) menu_holder.plane = ABOVE_HUD_PLANE - menu_holder.appearance_flags |= KEEP_APART|NO_CLIENT_COLOR|RESET_ALPHA|RESET_COLOR|RESET_TRANSFORM + menu_holder.appearance_flags |= APPEARANCE_UI_IGNORE_ALPHA | KEEP_APART menu_holder.vis_contents += elements + close_button current_user.images += menu_holder diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm index e20bae87d7..175d6e2a53 100644 --- a/code/_onclick/hud/robot.dm +++ b/code/_onclick/hud/robot.dm @@ -7,7 +7,7 @@ /atom/movable/screen/robot/Click() if(isobserver(usr)) - return 1 + return TRUE /atom/movable/screen/robot/module/Click() if(..()) @@ -15,7 +15,7 @@ var/mob/living/silicon/robot/R = usr if(R.module.type != /obj/item/robot_module) R.hud_used.toggle_show_robot_modules() - return 1 + return TRUE R.pick_module() /atom/movable/screen/robot/module1 diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index dbcf3750f6..c0d500511f 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -62,12 +62,12 @@ // At this point in client Click() code we have passed the 1/10 sec check and little else // We don't even know if it's a middle click if(usr.incapacitated()) - return 1 + return TRUE if(ismob(usr)) var/mob/M = usr M.swap_hand() - return 1 + return TRUE // /atom/movable/screen/skills // name = "skills" @@ -154,9 +154,8 @@ if(!icon_empty) icon_empty = icon_state - if(!hud?.mymob || !slot_id || !icon_full) - return ..() - icon_state = hud.mymob.get_item_by_slot(slot_id) ? icon_full : icon_empty + if(hud?.mymob && slot_id && icon_full) + icon_state = hud.mymob.get_item_by_slot(slot_id) ? icon_full : icon_empty return ..() /atom/movable/screen/inventory/proc/add_overlays() @@ -207,7 +206,7 @@ . += blocked_overlay if(held_index == hud.mymob.active_hand_index) - . += "hand_active" + . += (held_index % 2) ? "lhandactive" : "rhandactive" /atom/movable/screen/inventory/hand/Click(location, control, params) @@ -411,6 +410,7 @@ name = "rest" icon = 'icons/mob/screen_midnight.dmi' icon_state = "act_rest" + base_icon_state = "act_rest" plane = HUD_PLANE /atom/movable/screen/rest/Click() @@ -422,10 +422,7 @@ var/mob/living/user = hud?.mymob if(!istype(user)) return ..() - if(!user.resting) - icon_state = "act_rest" - else - icon_state = "act_rest0" + icon_state = "[base_icon_state][user.resting ? 0 : null]" return ..() /atom/movable/screen/throw_catch @@ -455,7 +452,7 @@ var/icon_y = text2num(LAZYACCESS(modifiers, "icon-y")) var/choice = get_zone_at(icon_x, icon_y) if (!choice) - return 1 + return TRUE return set_selected_zone(choice, usr) diff --git a/code/_onclick/hud/screentip.dm b/code/_onclick/hud/screentip.dm index 5128448561..b9b27072b3 100644 --- a/code/_onclick/hud/screentip.dm +++ b/code/_onclick/hud/screentip.dm @@ -17,4 +17,4 @@ SIGNAL_HANDLER if(!hud || !hud.mymob.client.view_size) //Might not have been initialized by now return - maptext_width = getviewsize(hud.mymob.client.view_size.getView())[1] * world.icon_size + maptext_width = view_to_pixels(hud.mymob.client.view_size.getView())[1] diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 23486cac29..488a50193c 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -236,7 +236,7 @@ attack_message_local = "You [message_verb] yourself[message_hit_area] with [I]" visible_message("[attack_message]",\ "[attack_message_local]", null, COMBAT_MESSAGE_RANGE) - return 1 + return TRUE /// How much stamina this takes to swing this is not for realism purposes hecc off. /obj/item/proc/getweight(mob/living/user, multiplier = 1, trait = SKILL_STAMINA_COST) diff --git a/code/_onclick/observer.dm b/code/_onclick/observer.dm index 78fc32480f..dfab3b5160 100644 --- a/code/_onclick/observer.dm +++ b/code/_onclick/observer.dm @@ -24,7 +24,10 @@ CtrlShiftClickOn(A) return if(modifiers["middle"]) - MiddleClickOn(A) + if(modifiers["ctrl"]) + CtrlMiddleClickOn(A) + else + MiddleClickOn(A) return if(modifiers["shift"]) ShiftClickOn(A) diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index 073f50d8c5..fc9a4207ae 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -18,7 +18,7 @@ . = attackchain_flags // Special glove functions: - // If the gloves do anything, have them return 1 to stop + // If the gloves do anything, have them return TRUE to stop // normal attack_hand() here. var/obj/item/clothing/gloves/G = gloves // not typecast specifically enough in defines if(proximity && istype(G)) @@ -99,7 +99,7 @@ */ /mob/living/carbon/RestrainedClickOn(atom/A) - return 0 + return FALSE /mob/living/carbon/human/RangedAttack(atom/A, mouseparams) . = ..() diff --git a/code/_onclick/right_click.dm b/code/_onclick/right_click.dm index c1613561b4..49bd76516a 100644 --- a/code/_onclick/right_click.dm +++ b/code/_onclick/right_click.dm @@ -15,7 +15,7 @@ DelayNextAction(CLICK_CD_HANDCUFFED) return RestrainedClickOn(A) - if(in_throw_mode) + if(throw_mode) throw_item(A)//todo: make it plausible to lightly toss items via right-click return diff --git a/code/_rendering/atom_huds/data_huds.dm b/code/_rendering/atom_huds/data_huds.dm index 291923ee4e..f120a0b824 100644 --- a/code/_rendering/atom_huds/data_huds.dm +++ b/code/_rendering/atom_huds/data_huds.dm @@ -24,13 +24,13 @@ /datum/atom_hud/data/human/medical/basic/proc/check_sensors(mob/living/carbon/human/H) if(!istype(H)) - return 0 + return FALSE var/obj/item/clothing/under/U = H.w_uniform if(!istype(U)) - return 0 + return FALSE if(U.sensor_mode <= SENSOR_VITALS) - return 0 - return 1 + return FALSE + return TRUE /datum/atom_hud/data/human/medical/basic/add_to_single_hud(mob/M, mob/living/carbon/H) if(check_sensors(H)) diff --git a/code/controllers/hooks.dm b/code/controllers/hooks.dm index fe6a49c854..9eb6631c3b 100644 --- a/code/controllers/hooks.dm +++ b/code/controllers/hooks.dm @@ -11,9 +11,9 @@ * @code /hook/foo/proc/bar() if(1) - return 1 //Sucessful + return TRUE //Sucessful else - return 0 //Error, or runtime. + return FALSE //Error, or runtime. * @endcode * All hooks must return nonzero on success, as runtimes will force return null. */ diff --git a/code/controllers/master.dm b/code/controllers/master.dm index 11318641be..715d5eab28 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -129,7 +129,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new /proc/Recreate_MC() . = -1 //so if we runtime, things know we failed if (world.time < Master.restart_timeout) - return 0 + return FALSE if (world.time < Master.restart_clear) Master.restart_count *= 0.5 @@ -142,7 +142,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new new/datum/controller/master() catch return -1 - return 1 + return TRUE /datum/controller/master/Recover() diff --git a/code/controllers/subsystem/activity.dm b/code/controllers/subsystem/activity.dm index de5d8f7f26..0dddc390da 100644 --- a/code/controllers/subsystem/activity.dm +++ b/code/controllers/subsystem/activity.dm @@ -48,7 +48,7 @@ SUBSYSTEM_DEF(activity) /datum/controller/subsystem/activity/proc/get_average_threat() if(!length(threat_history)) - return 0 + return FALSE var/total_weight = 0 var/total_amt = 0 for(var/i in 1 to threat_history.len-1) diff --git a/code/controllers/subsystem/augury.dm b/code/controllers/subsystem/augury.dm index 53c86004a6..f7a7c66718 100644 --- a/code/controllers/subsystem/augury.dm +++ b/code/controllers/subsystem/augury.dm @@ -69,15 +69,15 @@ SUBSYSTEM_DEF(augury) SSaugury.watchers += owner to_chat(owner, "You are now auto-following debris.") active = TRUE - UpdateButtonIcon() + UpdateButtons() /datum/action/innate/augury/Deactivate() SSaugury.watchers -= owner to_chat(owner, "You are no longer auto-following debris.") active = FALSE - UpdateButtonIcon() + UpdateButtons() -/datum/action/innate/augury/UpdateButtonIcon(status_only = FALSE, force) +/datum/action/innate/augury/UpdateButton(atom/movable/screen/movable/action_button/button, status_only = FALSE, force) ..() if(active) button.icon_state = "template_active" diff --git a/code/controllers/subsystem/dcs.dm b/code/controllers/subsystem/dcs.dm index 6be5a4bdfa..0d5b59bfa9 100644 --- a/code/controllers/subsystem/dcs.dm +++ b/code/controllers/subsystem/dcs.dm @@ -55,6 +55,6 @@ PROCESSING_SUBSYSTEM_DEF(dcs) fullid += "[key]" if(length(named_arguments)) - named_arguments = sortList(named_arguments) + named_arguments = sort_list(named_arguments) fullid += named_arguments return list2params(fullid) diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 4daff91575..9ff65d83c0 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -47,7 +47,7 @@ SUBSYSTEM_DEF(job) var/list/all_jobs = subtypesof(/datum/job) if(!all_jobs.len) to_chat(world, "Error setting up jobs, no job datums found") - return 0 + return FALSE for(var/J in all_jobs) var/datum/job/job = new J() @@ -65,7 +65,7 @@ SUBSYSTEM_DEF(job) name_occupations[job.title] = job type_occupations[J] = job - return 1 + return TRUE /datum/controller/subsystem/job/proc/GetJob(rank) @@ -199,8 +199,8 @@ SUBSYSTEM_DEF(job) continue var/mob/dead/new_player/candidate = pick(candidates) if(AssignRole(candidate, command_position)) - return 1 - return 0 + return TRUE + return FALSE //This proc is called at the start of the level loop of DivideOccupations() and will cause head jobs to be checked before any other jobs of the same level @@ -222,7 +222,7 @@ SUBSYSTEM_DEF(job) var/ai_selected = 0 var/datum/job/job = GetJob("AI") if(!job) - return 0 + return FALSE for(var/i = job.total_positions, i > 0, i--) for(var/level in level_order) var/list/candidates = list() @@ -233,8 +233,8 @@ SUBSYSTEM_DEF(job) ai_selected++ break if(ai_selected) - return 1 - return 0 + return TRUE + return FALSE /** Proc DivideOccupations @@ -599,8 +599,8 @@ SUBSYSTEM_DEF(job) if(hpc || epc) var/relevent_cap = max(hpc, epc) if((initial_players_to_assign - unassigned.len) >= relevent_cap) - return 1 - return 0 + return TRUE + return FALSE /datum/controller/subsystem/job/proc/RejectPlayer(mob/dead/new_player/player) if(player.mind && player.mind.special_role) diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index fc0e03afe0..e593dc410e 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -423,7 +423,7 @@ GLOBAL_LIST_EMPTY(the_station_areas) banned += generateMapList("[global.config.directory]/iceruinblacklist.txt") banned += generateMapList("[global.config.directory]/stationruinblacklist.txt") - for(var/item in sortList(subtypesof(/datum/map_template/ruin), GLOBAL_PROC_REF(cmp_ruincost_priority))) + for(var/item in sort_list(subtypesof(/datum/map_template/ruin), GLOBAL_PROC_REF(cmp_ruincost_priority))) var/datum/map_template/ruin/ruin_type = item // screen out the abstract subtypes if(!initial(ruin_type.id)) diff --git a/code/controllers/subsystem/pathfinder.dm b/code/controllers/subsystem/pathfinder.dm index ccbea79306..cee625b3f1 100644 --- a/code/controllers/subsystem/pathfinder.dm +++ b/code/controllers/subsystem/pathfinder.dm @@ -36,7 +36,7 @@ SUBSYSTEM_DEF(pathfinder) flow[t] = M return free else - return 0 + return FALSE /datum/flowcache/proc/toolong(l) log_game("Pathfinder route took longer than 150 ticks, src bot [flow[flow[l]]]") diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index adf9d01946..dc01134038 100644 --- a/code/controllers/subsystem/processing/quirks.dm +++ b/code/controllers/subsystem/processing/quirks.dm @@ -22,7 +22,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks) /datum/controller/subsystem/processing/quirks/proc/SetupQuirks() // Sort by Positive, Negative, Neutral; and then by name - var/list/quirk_list = sortList(subtypesof(/datum/quirk), GLOBAL_PROC_REF(cmp_quirk_asc)) + var/list/quirk_list = sort_list(subtypesof(/datum/quirk), GLOBAL_PROC_REF(cmp_quirk_asc)) for(var/V in quirk_list) var/datum/quirk/T = V diff --git a/code/controllers/subsystem/radio.dm b/code/controllers/subsystem/radio.dm index 8299709392..22f7b49207 100644 --- a/code/controllers/subsystem/radio.dm +++ b/code/controllers/subsystem/radio.dm @@ -25,7 +25,7 @@ SUBSYSTEM_DEF(radio) if(frequency) frequency.remove_listener(device) // let's don't delete frequencies in case a non-listener keeps a reference - return 1 + return TRUE /datum/controller/subsystem/radio/proc/return_frequency(new_frequency as num) var/f_text = num2text(new_frequency) diff --git a/code/controllers/subsystem/research.dm b/code/controllers/subsystem/research.dm index be722ed4f1..fb863690ce 100644 --- a/code/controllers/subsystem/research.dm +++ b/code/controllers/subsystem/research.dm @@ -358,7 +358,7 @@ SUBSYSTEM_DEF(research) /datum/controller/subsystem/research/proc/calculate_server_coefficient() //Diminishing returns. var/amt = servers.len if(!amt) - return 0 + return FALSE var/coeff = 100 coeff = sqrt(coeff / amt) return coeff diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 628dec280d..7857cd6222 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -294,7 +294,7 @@ SUBSYSTEM_DEF(shuttle) log_shuttle("[key_name(user)] has recalled the shuttle.") message_admins("[ADMIN_LOOKUPFLW(user)] has recalled the shuttle.") deadchat_broadcast(" has recalled the shuttle from [span_name("[get_area_name(user, TRUE)]")].", span_name("[user.real_name]"), user, message_type=DEADCHAT_ANNOUNCEMENT) - return 1 + return TRUE /datum/controller/subsystem/shuttle/proc/canRecall() if(!emergency || emergency.mode != SHUTTLE_CALL || emergencyNoRecall || SSticker.mode.name == "meteor") @@ -400,7 +400,7 @@ SUBSYSTEM_DEF(shuttle) /datum/controller/subsystem/shuttle/proc/toggleShuttle(shuttleId, dockHome, dockAway, timed) var/obj/docking_port/mobile/M = getShuttle(shuttleId) if(!M) - return 1 + return TRUE var/obj/docking_port/stationary/dockedAt = M.get_docked() var/destination = dockHome if(dockedAt && dockedAt.id == dockHome) @@ -411,7 +411,7 @@ SUBSYSTEM_DEF(shuttle) else if(M.initiate_docking(getDock(destination)) != DOCKING_SUCCESS) return 2 - return 0 //dock successful + return FALSE //dock successful /datum/controller/subsystem/shuttle/proc/moveShuttle(shuttleId, dockId, timed) @@ -419,14 +419,14 @@ SUBSYSTEM_DEF(shuttle) var/obj/docking_port/stationary/D = getDock(dockId) if(!M) - return 1 + return TRUE if(timed) if(M.request(D)) return 2 else if(M.initiate_docking(D) != DOCKING_SUCCESS) return 2 - return 0 //dock successful + return FALSE //dock successful /datum/controller/subsystem/shuttle/proc/request_transit_dock(obj/docking_port/mobile/M) if(!istype(M)) @@ -825,7 +825,7 @@ SUBSYSTEM_DEF(shuttle) templates[S.port_id]["templates"] += list(L) - data["templates_tabs"] = sortList(data["templates_tabs"]) + data["templates_tabs"] = sort_list(data["templates_tabs"]) data["existing_shuttle"] = null diff --git a/code/controllers/subsystem/throwing.dm b/code/controllers/subsystem/throwing.dm index 5f6238159b..14bd34d9e9 100644 --- a/code/controllers/subsystem/throwing.dm +++ b/code/controllers/subsystem/throwing.dm @@ -41,37 +41,61 @@ SUBSYSTEM_DEF(throwing) currentrun = null /datum/thrownthing + ///Defines the atom that has been thrown (Objects and Mobs, mostly.) var/atom/movable/thrownthing - var/atom/target + ///Weakref to the original intended target of the throw, to prevent hardDels + var/datum/weakref/initial_target + ///The turf that the target was on, if it's not a turf itself. var/turf/target_turf + ///If the target happens to be a carbon and that carbon has a body zone aimed at, this is carried on here. var/target_zone + ///The initial direction of the thrower of the thrownthing for building the trajectory of the throw. var/init_dir + ///The maximum number of turfs that the thrownthing will travel to reach it's target. var/maxrange + ///The speed of the projectile thrownthing being thrown. var/speed + ///If a mob is the one who has thrown the object, then it's moved here. var/mob/thrower + ///A variable that helps in describing objects thrown at an angle, if it should be moved diagonally first or last. var/diagonals_first - var/dist_travelled = 0 - var/start_time - var/dist_x - var/dist_y - var/dx - var/dy - var/force = MOVE_FORCE_DEFAULT - var/gentle = FALSE + ///Set to TRUE if the throw is exclusively diagonal (45 Degree angle throws for example) var/pure_diagonal + ///Tracks how far a thrownthing has traveled mid-throw for the purposes of maxrange + var/dist_travelled = 0 + ///The start_time obtained via world.time for the purposes of tiles moved/tick. + var/start_time + ///Distance to travel in the X axis/direction. + var/dist_x + ///Distance to travel in the y axis/direction. + var/dist_y + ///The Horizontal direction we're traveling (EAST or WEST) + var/dx + ///The VERTICAL direction we're traveling (NORTH or SOUTH) + var/dy + ///The movement force provided to a given object in transit. More info on these in move_force.dm + var/force = MOVE_FORCE_DEFAULT + ///If the throw is gentle, then the thrownthing is harmless on impact. + var/gentle = FALSE + ///How many tiles that need to be moved in order to travel to the target. var/diagonal_error + ///If a thrown thing has a callback, it can be invoked here within thrownthing. var/datum/callback/callback + ///Mainly exists for things that would freeze a thrown object in place, like a timestop'd tile. Or a Tractor Beam. var/paused = FALSE + ///How long an object has been paused for, to be added to the travel time. var/delayed_time = 0 + ///The last world.time value stored when the thrownthing was moving. var/last_move = 0 -/datum/thrownthing/New(thrownthing, target, target_turf, init_dir, maxrange, speed, thrower, diagonals_first, force, gentle, callback, target_zone) +/datum/thrownthing/New(thrownthing, target, init_dir, maxrange, speed, thrower, diagonals_first, force, gentle, callback, target_zone) . = ..() src.thrownthing = thrownthing RegisterSignal(thrownthing, COMSIG_PARENT_QDELETING, PROC_REF(on_thrownthing_qdel)) - src.target = target - src.target_turf = target_turf + src.target_turf = get_turf(target) + if(target_turf != target) + src.initial_target = WEAKREF(target) src.init_dir = init_dir src.maxrange = maxrange src.speed = speed @@ -90,8 +114,8 @@ SUBSYSTEM_DEF(throwing) SSthrowing.currentrun -= thrownthing thrownthing.throwing = null thrownthing = null - target = null thrower = null + initial_target = null if(callback) QDEL_NULL(callback) //It stores a reference to the thrownthing, its source. Let's clean that. return ..() @@ -114,9 +138,17 @@ SUBSYSTEM_DEF(throwing) delayed_time += world.time - last_move return - if (dist_travelled && hitcheck()) //to catch sneaky things moving on our tile while we slept - finalize() - return + var/atom/movable/actual_target = initial_target?.resolve() + + if(dist_travelled) //to catch sneaky things moving on our tile while we slept + for(var/atom/movable/obstacle as anything in get_turf(thrownthing)) + if (obstacle == thrownthing || (obstacle == thrower && !ismob(thrownthing))) + continue + if(obstacle.pass_flags_self & LETPASSTHROW) + continue + if (obstacle == actual_target || (obstacle.density && !(obstacle.flags_1 & ON_BORDER_1))) + finalize(TRUE, obstacle) + return var/atom/step @@ -143,14 +175,17 @@ SUBSYSTEM_DEF(throwing) finalize() return - AM.Move(step, get_dir(AM, step), DELAY_TO_GLIDE_SIZE(1 / speed)) - - if (!AM.throwing) // we hit something during our move - finalize(hit = TRUE) + if(!AM.Move(step, get_dir(AM, step), DELAY_TO_GLIDE_SIZE(1 / speed))) // we hit something during our move... + if(AM.throwing) // ...but finalize() wasn't called on Bump() because of a higher level definition that doesn't always call parent. + finalize() return dist_travelled++ + if(actual_target && !(actual_target.pass_flags_self & LETPASSTHROW) && actual_target.loc == AM.loc) // we crossed a movable with no density (e.g. a mouse or APC) we intend to hit anyway. + finalize(TRUE, actual_target) + return + if (dist_travelled > MAX_THROWING_DIST) finalize() return @@ -162,11 +197,10 @@ SUBSYSTEM_DEF(throwing) return thrownthing.throwing = null if (!hit) - for (var/thing in get_turf(thrownthing)) //looking for our target on the turf we land on. - var/atom/A = thing - if (A == target) + for (var/atom/movable/obstacle as anything in get_turf(thrownthing)) //looking for our target on the turf we land on. + if (obstacle == target) hit = TRUE - thrownthing.throw_impact(A, src) + thrownthing.throw_impact(obstacle, src) if(QDELETED(thrownthing)) //throw_impact can delete things, such as glasses smashing return //deletion should already be handled by on_thrownthing_qdel() break @@ -192,15 +226,3 @@ SUBSYSTEM_DEF(throwing) T.zFall(thrownthing) qdel(src) - -/datum/thrownthing/proc/hit_atom(atom/A) - finalize(hit=TRUE, target=A) - -/datum/thrownthing/proc/hitcheck() - for (var/thing in get_turf(thrownthing)) - var/atom/movable/AM = thing - if (AM == thrownthing || (AM == thrower && !ismob(thrownthing))) - continue - if (AM.density && !(AM.pass_flags_self & LETPASSTHROW) && !(AM.flags_1 & ON_BORDER_1)) - finalize(hit=TRUE, target=AM) - return TRUE diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index b0ce44c68f..ebd7801573 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -245,7 +245,7 @@ SUBSYSTEM_DEF(ticker) mode = null SSjob.ResetOccupations() emergency_swap++ - return 0 + return FALSE CHECK_TICK //Configure mode and assign player to special mode stuff @@ -264,7 +264,7 @@ SUBSYSTEM_DEF(ticker) to_chat(world, "Error setting up [GLOB.master_mode]. Reverting to pre-game lobby.") SSjob.ResetOccupations() emergency_swap++ - return 0 + return FALSE else message_admins("DEBUG: Bypassing prestart checks...") @@ -273,7 +273,7 @@ SUBSYSTEM_DEF(ticker) var/list/modes = new for (var/datum/game_mode/M in runnable_modes) modes += M.name - modes = sortList(modes) + modes = sort_list(modes) to_chat(world, "The gamemode is: secret!\nPossibilities: [english_list(modes)]") else mode.announce()*/ diff --git a/code/controllers/subsystem/traumas.dm b/code/controllers/subsystem/traumas.dm index 7f1ece6937..6a7b0d9c2c 100644 --- a/code/controllers/subsystem/traumas.dm +++ b/code/controllers/subsystem/traumas.dm @@ -100,7 +100,7 @@ SUBSYSTEM_DEF(traumas) /obj/item/clothing/suit/space/hardsuit/ert/engi, /obj/item/clothing/suit/space/hardsuit/ert/med, /obj/item/clothing/suit/space/hardsuit/deathsquad, /obj/item/clothing/head/helmet/space/hardsuit/deathsquad, /obj/machinery/door/airlock/centcom)), - "robots" = typecacheof(list(/obj/machinery/computer/upload, /obj/item/aiModule/, /obj/machinery/recharge_station, + "robots" = typecacheof(list(/obj/machinery/computer/upload, /obj/item/ai_module/, /obj/machinery/recharge_station, /obj/item/aicard, /obj/item/deactivated_swarmer, /obj/effect/mob_spawn/swarmer)), "doctors" = typecacheof(list(/obj/item/clothing/under/rank/medical/doctor, /obj/item/clothing/under/rank/medical/chemist, @@ -170,7 +170,7 @@ SUBSYSTEM_DEF(traumas) /obj/item/gun/ballistic/automatic/shotgun/bulldog, /obj/item/gun/ballistic/automatic/c20r, /obj/item/gun/ballistic/automatic/m90, /obj/item/gun/ballistic/automatic/l6_saw, /obj/item/storage/belt/grenade/full, /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate, /obj/item/gun/energy/kinetic_accelerator/crossbow, /obj/item/melee/transforming/energy/sword/saber, /obj/item/dualsaber, /obj/item/melee/powerfist, /obj/item/storage/box/syndie_kit, /obj/item/grenade/spawnergrenade/manhacks, /obj/item/grenade/chem_grenade/bioterrorfoam, /obj/item/reagent_containers/spray/chemsprayer/bioterror, /obj/item/ammo_box/magazine/m10mm, /obj/item/ammo_box/magazine/pistolm9mm, /obj/item/ammo_box/a357, /obj/item/ammo_box/magazine/m12g, /obj/item/ammo_box/magazine/mm712x82, /obj/item/antag_spawner/nuke_ops, /obj/vehicle/sealed/mecha/combat/gygax/dark, /obj/vehicle/sealed/mecha/combat/marauder/mauler, /obj/item/soap/syndie, /obj/item/gun/syringe/syndicate, /obj/item/cartridge/virus/syndicate, - /obj/item/cartridge/virus/frame, /obj/item/chameleon, /obj/item/storage/box/syndie_kit/cutouts, /obj/item/clothing/suit/space/hardsuit/syndi, /obj/item/card/emag, /obj/item/storage/toolbox/syndicate, /obj/item/storage/book/bible/syndicate, /obj/item/encryptionkey/binary, /obj/item/encryptionkey/syndicate, /obj/item/aiModule/syndicate, + /obj/item/cartridge/virus/frame, /obj/item/chameleon, /obj/item/storage/box/syndie_kit/cutouts, /obj/item/clothing/suit/space/hardsuit/syndi, /obj/item/card/emag, /obj/item/storage/toolbox/syndicate, /obj/item/storage/book/bible/syndicate, /obj/item/encryptionkey/binary, /obj/item/encryptionkey/syndicate, /obj/item/ai_module/syndicate, /obj/item/clothing/shoes/magboots/syndie, /obj/item/powersink, /obj/item/sbeacondrop, /obj/item/sbeacondrop/bomb, /obj/item/syndicatedetonator, /obj/item/shield/energy, /obj/item/assault_pod, /obj/item/slimepotion/slime/sentience/nuclear, /obj/item/stack/telecrystal, /obj/item/jammer, /obj/item/codespeak_manual/unlimited, /obj/item/toy/cards/deck/syndicate, /obj/item/storage/secure/briefcase/syndie, /obj/item/storage/fancy/cigarettes/cigpack_syndicate, /obj/item/toy/syndicateballoon, /obj/item/clothing/gloves/fingerless/pugilist/rapid, /obj/item/paper/fluff/ruins/thederelict/syndie_mission, /obj/item/organ/cyberimp/eyes/hud/security/syndicate, /obj/item/clothing/head/HoS/syndicate, /obj/machinery/computer/pod/old/syndicate, /obj/machinery/vending/medical/syndicate_access, /obj/item/mmi/syndie, /obj/item/target/syndicate, /obj/machinery/vending/cigarette/syndicate, /obj/item/robot_module/syndicate, /obj/item/clothing/mask/gas/syndicate, /obj/machinery/power/singularity_beacon/syndicate, /obj/item/clothing/head/syndicatefake, diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index 9ce7c7484b..abcc7319aa 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -373,7 +373,7 @@ SUBSYSTEM_DEF(vote) /datum/controller/subsystem/vote/proc/submit_vote(vote, score = 0) if(mode) if(CONFIG_GET(flag/no_dead_vote) && usr.stat == DEAD && !usr.client.holder) - return 0 + return FALSE if(vote && ISINRANGE(vote, 1, choices.len)) switch(vote_system) if(PLURALITY_VOTING) @@ -415,7 +415,7 @@ SUBSYSTEM_DEF(vote) voted[usr.ckey] = list() voted[usr.ckey][choices[vote]] = score saved -= usr.ckey - return 0 + return FALSE /datum/controller/subsystem/vote/proc/initiate_vote(vote_type, initiator_key, display = display_votes, votesystem = PLURALITY_VOTING, forced = FALSE,vote_time = -1)//CIT CHANGE - adds display argument to votes to allow for obfuscated votes vote_system = votesystem @@ -424,7 +424,7 @@ SUBSYSTEM_DEF(vote) var/next_allowed_time = (started_time + CONFIG_GET(number/vote_delay)) if(mode) to_chat(usr, "There is already a vote in progress! please wait for it to finish.") - return 0 + return FALSE var/admin = FALSE var/ckey = ckey(initiator_key) @@ -433,7 +433,7 @@ SUBSYSTEM_DEF(vote) if(next_allowed_time > world.time && !admin) to_chat(usr, "A vote was initiated recently, you must wait [DisplayTimeText(next_allowed_time-world.time)] before a new vote can be started!") - return 0 + return FALSE SEND_SOUND(world, sound('sound/misc/notice2.ogg')) reset() @@ -464,7 +464,7 @@ SUBSYSTEM_DEF(vote) if("custom") question = stripped_input(usr,"What is the vote for?") if(!question) - return 0 + return FALSE var/system_string = input(usr,"Which voting type?",GLOB.vote_type_names[1]) in GLOB.vote_type_names vote_system = GLOB.vote_type_names[system_string] for(var/i=1,i<=10,i++) @@ -488,7 +488,7 @@ SUBSYSTEM_DEF(vote) toggles ^= choices[chosen] display_votes = toggles else - return 0 + return FALSE mode = vote_type initiator = initiator_key ? initiator_key : "the Server" // austation -- Crew autotransfer vote started_time = world.time @@ -521,8 +521,8 @@ SUBSYSTEM_DEF(vote) popup.set_window_options("can_close=0") popup.set_content(SSvote.interface(C)) popup.open(0) - return 1 - return 0 + return TRUE + return FALSE /datum/controller/subsystem/vote/proc/interface(client/C) if(!C) @@ -736,7 +736,7 @@ SUBSYSTEM_DEF(vote) Remove(owner) /datum/action/vote/IsAvailable(silent = FALSE) - return 1 + return TRUE /datum/action/vote/proc/remove_from_client() if(!owner) diff --git a/code/datums/achievements/_awards.dm b/code/datums/achievements/_awards.dm index 22296b90f5..ce94829637 100644 --- a/code/datums/achievements/_awards.dm +++ b/code/datums/achievements/_awards.dm @@ -50,7 +50,7 @@ ) if(!Q.Execute(async = TRUE)) qdel(Q) - return 0 + return FALSE var/result = 0 if(Q.NextRow()) result = text2num(Q.item[1]) diff --git a/code/datums/action.dm b/code/datums/action.dm index ae5c04f866..26e61957e6 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -11,11 +11,10 @@ var/check_flags = 0 var/required_mobility_flags = MOBILITY_USE var/processing = FALSE - var/atom/movable/screen/movable/action_button/button = null var/buttontooltipstyle = "" var/transparent_when_unavailable = TRUE - var/use_target_appearance = FALSE - var/list/target_appearance_matrix //if set, will be used to transform the target button appearance as an arglist. + /// Where any buttons we create should be by default. Accepts screen_loc and location defines + var/default_button_position = SCRN_OBJ_IN_LIST var/button_icon = 'icons/mob/actions/backgrounds.dmi' //This is the file for the BACKGROUND icon var/background_icon_state = ACTION_BUTTON_DEFAULT_BACKGROUND //And this is the state for the background icon @@ -28,12 +27,6 @@ /datum/action/New(Target) link_to(Target) - button = new - button.linked_action = src - button.name = name - button.actiontooltipstyle = buttontooltipstyle - if(desc) - button.desc = desc /datum/action/proc/link_to(Target) target = Target @@ -43,51 +36,42 @@ if(owner) Remove(owner) target = null - QDEL_NULL(button) + QDEL_LIST_ASSOC_VAL(viewers) // Qdel the buttons in the viewers list **NOT THE HUDS** return ..() /datum/action/proc/Grant(mob/M) - if(M) - if(owner) - if(owner == M) - return - Remove(owner) - owner = M - - //button id generation - var/counter = 0 - var/bitfield = 0 - for(var/datum/action/A in M.actions) - if(A.name == name && A.button.id) - counter += 1 - bitfield |= A.button.id - bitfield = ~bitfield - var/bitflag = 1 - for(var/i in 1 to (counter + 1)) - if(bitfield & bitflag) - button.id = bitflag - break - bitflag *= 2 - - M.actions += src - if(M.client) - M.client.screen += button - button.locked = M.client.prefs.buttons_locked || button.id ? M.client.prefs.action_buttons_screen_locs["[name]_[button.id]"] : FALSE //even if it's not defaultly locked we should remember we locked it before - button.moved = button.id ? M.client.prefs.action_buttons_screen_locs["[name]_[button.id]"] : FALSE - M.update_action_buttons() - else + if(!M) Remove(owner) + return + if(owner) + if(owner == M) + return + Remove(owner) + owner = M + RegisterSignal(owner, COMSIG_PARENT_QDELETING, .proc/clear_ref, override = TRUE) + + GiveAction(M) + +/datum/action/proc/clear_ref(datum/ref) + SIGNAL_HANDLER + if(ref == owner) + Remove(owner) + if(ref == target) + qdel(src) /datum/action/proc/Remove(mob/M) - if(M) - if(M.client) - M.client.screen -= button - M.actions -= src - M.update_action_buttons() - owner = null - button.moved = FALSE //so the button appears in its normal position when given to another owner. - button.locked = FALSE - button.id = null + for(var/datum/hud/hud in viewers) + if(!hud.mymob) + continue + HideFrom(hud.mymob) + LAZYREMOVE(M.actions, src) // We aren't always properly inserted into the viewers list, gotta make sure that action's cleared + viewers = list() + + if(owner) + UnregisterSignal(owner, COMSIG_PARENT_QDELETING) + if(target == owner) + RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/clear_ref) + owner = null /datum/action/proc/Trigger() if(!IsAvailable()) @@ -125,15 +109,15 @@ /datum/action/proc/UpdateButtons(status_only, force) for(var/datum/hud/hud in viewers) var/atom/movable/screen/movable/button = viewers[hud] - UpdateButtonIcon(button, status_only, force) + UpdateButton(button, status_only, force) -/datum/action/proc/UpdateButtonIcon(status_only = FALSE, force = FALSE) +/datum/action/proc/UpdateButton(atom/movable/screen/movable/action_button/button, status_only = FALSE, force = FALSE) if(!button) return if(!status_only) button.name = name button.desc = desc - if(owner && owner.hud_used && background_icon_state == ACTION_BUTTON_DEFAULT_BACKGROUND) + if(owner?.hud_used && background_icon_state == ACTION_BUTTON_DEFAULT_BACKGROUND) var/list/settings = owner.hud_used.get_action_buttons_icons() if(button.icon != settings["bg_icon"]) button.icon = settings["bg_icon"] @@ -145,25 +129,13 @@ if(button.icon_state != background_icon_state) button.icon_state = background_icon_state - if(!use_target_appearance) - ApplyIcon(button, force) - - else if(target && button.appearance_cache != target.appearance) //replace with /ref comparison if this is not valid. - var/mutable_appearance/M = new(target) - M.layer = FLOAT_LAYER - M.plane = FLOAT_PLANE - if(target_appearance_matrix) - var/list/L = target_appearance_matrix - M.transform = matrix(L[1], L[2], L[3], L[4], L[5], L[6]) - button.cut_overlays() - button.add_overlay(M) - button.appearance_cache = target.appearance + ApplyIcon(button, force) if(!IsAvailable(TRUE)) button.color = transparent_when_unavailable ? rgb(128,0,0,128) : rgb(128,0,0) else button.color = rgb(255,255,255,255) - return 1 + return TRUE /datum/action/proc/ApplyIcon(atom/movable/screen/movable/action_button/current_button, force = FALSE) if(icon_icon && button_icon_state && ((current_button.button_icon_state != button_icon_state) || force)) @@ -179,25 +151,82 @@ /datum/action/ghost/Trigger() if(!..()) - return 0 + return FALSE var/mob/M = target M.ghostize(can_reenter_corpse = TRUE, voluntary = TRUE) /datum/action/proc/OnUpdatedIcon() - addtimer(CALLBACK(src, PROC_REF(UpdateButtonIcon)), 1) //Hopefully runs after new icon overlays have been compiled. + SIGNAL_HANDLER + UpdateButtons(force = TRUE) + +//Give our action button to the player +/datum/action/proc/GiveAction(mob/viewer) + var/datum/hud/our_hud = viewer.hud_used + if(viewers[our_hud]) // Already have a copy of us? go away + return + + LAZYOR(viewer.actions, src) // Move this in + ShowTo(viewer) + +//Adds our action button to the screen of a player +/datum/action/proc/ShowTo(mob/viewer) + var/datum/hud/our_hud = viewer.hud_used + if(!our_hud || viewers[our_hud]) // There's no point in this if you have no hud in the first place + return + + var/atom/movable/screen/movable/action_button/button = CreateButton() + SetId(button, viewer) + + button.our_hud = our_hud + viewers[our_hud] = button + if(viewer.client) + viewer.client.screen += button + + button.load_position(viewer) + viewer.update_action_buttons() + +//Removes our action button from the screen of a player +/datum/action/proc/HideFrom(mob/viewer) + var/datum/hud/our_hud = viewer.hud_used + var/atom/movable/screen/movable/action_button/button = viewers[our_hud] + LAZYREMOVE(viewer.actions, src) + if(button) + qdel(button) + +/datum/action/proc/CreateButton() + var/atom/movable/screen/movable/action_button/button = new() + button.linked_action = src + button.actiontooltipstyle = buttontooltipstyle + if(desc) + button.desc = desc + return button + +/datum/action/proc/SetId(atom/movable/screen/movable/action_button/our_button, mob/owner) + //button id generation + var/bitfield = 0 + for(var/datum/action/action in owner.actions) + if(action == src) // This could be us, which is dumb + continue + var/atom/movable/screen/movable/action_button/button = action.viewers[owner.hud_used] + if(action.name == name && button.id) + bitfield |= button.id + + bitfield = ~bitfield // Flip our possible ids, so we can check if we've found a unique one + for(var/i in 0 to 23) // We get 24 possible bitflags in dm + var/bitflag = 1 << i // Shift us over one + if(bitfield & bitflag) + our_button.id = bitflag + return //Presets for item actions /datum/action/item_action check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_LYING|AB_CHECK_CONSCIOUS button_icon_state = null - use_target_appearance = TRUE // If you want to override the normal icon being the item // then change this to an icon state /datum/action/item_action/New(Target) ..() - if(button_icon_state) - use_target_appearance = FALSE var/obj/item/I = target LAZYINITLIST(I.actions) I.actions += src @@ -208,17 +237,41 @@ UNSETEMPTY(I.actions) return ..() -/datum/action/item_action/Trigger() - if(!..()) - return 0 +/datum/action/item_action/Trigger(trigger_flags) + . = ..() + if(!.) + return FALSE if(target) var/obj/item/I = target I.ui_action_click(owner, src) - return 1 + return TRUE + +/datum/action/item_action/ApplyIcon(atom/movable/screen/movable/action_button/current_button, force) + var/obj/item/item_target = target + if(button_icon && button_icon_state) + // If set, use the custom icon that we set instead + // of the item appearence + ..() + else if((target && current_button.appearance_cache != item_target.appearance) || force) //replace with /ref comparison if this is not valid. + var/old_layer = item_target.layer + var/old_plane = item_target.plane + item_target.layer = FLOAT_LAYER //AAAH + item_target.plane = FLOAT_PLANE //^ what that guy said + current_button.filters = null + current_button.cut_overlays() + current_button.add_overlay(item_target) + item_target.layer = old_layer + item_target.plane = old_plane + current_button.appearance_cache = item_target.appearance /datum/action/item_action/toggle_light name = "Toggle Light" +/datum/action/item_action/toggle_light/pda/Trigger(trigger_flags) + if(istype(target, /obj/item/pda)) + var/obj/item/pda/P = target + return P.toggle_light(owner) + /datum/action/item_action/toggle_hood name = "Toggle Hood" @@ -258,12 +311,14 @@ /datum/action/item_action/set_internals name = "Set Internals" -/datum/action/item_action/set_internals/UpdateButtonIcon(status_only = FALSE, force) - if(..()) //button available - if(iscarbon(owner)) - var/mob/living/carbon/C = owner - if(target == C.internal) - button.icon_state = "template_active" +/datum/action/item_action/set_internals/UpdateButton(atom/movable/screen/movable/action_button/button, status_only = FALSE, force) + if(!..()) // no button available + return + if(!iscarbon(owner)) + return + var/mob/living/carbon/C = owner + if(target == C.internal) + button.icon_state = "template_active" /datum/action/item_action/pick_color name = "Choose A Color" @@ -309,9 +364,9 @@ /datum/action/item_action/toggle_unfriendly_fire/Trigger() if(..()) - UpdateButtonIcon() + UpdateButtons() -/datum/action/item_action/toggle_unfriendly_fire/UpdateButtonIcon(status_only = FALSE, force) +/datum/action/item_action/toggle_unfriendly_fire/UpdateButton(atom/movable/screen/movable/action_button/button, status_only = FALSE, force) if(istype(target, /obj/item/hierophant_club)) var/obj/item/hierophant_club/H = target if(H.friendly_fire_check) @@ -332,7 +387,7 @@ if(istype(target, /obj/item/hierophant_club)) var/obj/item/hierophant_club/H = target if(H.teleporting) - return 0 + return FALSE return ..() /datum/action/item_action/clock @@ -342,7 +397,7 @@ /datum/action/item_action/clock/IsAvailable(silent = FALSE) if(!is_servant_of_ratvar(owner)) - return 0 + return FALSE return ..() /datum/action/item_action/clock/toggle_visor @@ -351,11 +406,11 @@ /datum/action/item_action/clock/toggle_visor/IsAvailable(silent = FALSE) if(!is_servant_of_ratvar(owner)) - return 0 + return FALSE if(istype(target, /obj/item/clothing/glasses/judicial_visor)) var/obj/item/clothing/glasses/judicial_visor/V = target if(V.recharging) - return 0 + return FALSE return ..() /datum/action/item_action/clock/hierophant @@ -366,7 +421,6 @@ /datum/action/item_action/clock/quickbind name = "Quickbind" desc = "If you're seeing this, file a bug report." - use_target_appearance = FALSE var/scripture_index = 0 //the index of the scripture we're associated with /datum/action/item_action/toggle_helmet_flashlight @@ -380,7 +434,6 @@ /datum/action/item_action/toggle/New(Target) ..() name = "Toggle [target.name]" - button.name = name /datum/action/item_action/halt name = "HALT!" @@ -409,7 +462,6 @@ /datum/action/item_action/adjust/New(Target) ..() name = "Adjust [target.name]" - button.name = name /datum/action/item_action/switch_hud name = "Switch HUD" @@ -432,7 +484,7 @@ /datum/action/item_action/jetpack_stabilization/IsAvailable(silent = FALSE) var/obj/item/tank/jetpack/J = target if(!istype(J) || !J.on) - return 0 + return FALSE return ..() /datum/action/item_action/hands_free @@ -464,7 +516,7 @@ else owner.research_scanner-- to_chat(owner, "[target] research scanner has been [active ? "activated" : "deactivated"].") - return 1 + return TRUE /datum/action/item_action/toggle_research_scanner/Remove(mob/M) if(owner && active) @@ -489,18 +541,16 @@ /datum/action/item_action/organ_action/IsAvailable(silent = FALSE) var/obj/item/organ/I = target if(!I.owner) - return 0 + return FALSE return ..() /datum/action/item_action/organ_action/toggle/New(Target) ..() name = "Toggle [target.name]" - button.name = name /datum/action/item_action/organ_action/use/New(Target) ..() name = "Use [target.name]" - button.name = name /datum/action/item_action/cult_dagger name = "Draw Blood Rune" @@ -509,14 +559,13 @@ button_icon_state = "draw" buttontooltipstyle = "cult" background_icon_state = "bg_demon" + default_button_position = "6:157,4:-2" /datum/action/item_action/cult_dagger/Grant(mob/M) - if(iscultist(M)) - ..() - button.screen_loc = "6:157,4:-2" - button.moved = "6:157,4:-2" - else + if(!iscultist(M)) Remove(owner) + return + return ..() /datum/action/item_action/cult_dagger/Trigger() for(var/obj/item/H in owner.held_items) //In case we were already holding another dagger @@ -643,7 +692,6 @@ icon_icon = S.action_icon button_icon_state = S.action_icon_state background_icon_state = S.action_background_icon_state - button.name = name /datum/action/spell_action/Destroy() var/obj/effect/proc_holder/S = target @@ -693,12 +741,12 @@ /datum/action/innate/Trigger() if(!..()) - return 0 + return FALSE if(!active) Activate() else Deactivate() - return 1 + return TRUE /datum/action/innate/proc/Activate() return @@ -711,44 +759,114 @@ /datum/action/cooldown check_flags = 0 transparent_when_unavailable = FALSE + // The default cooldown applied when StartCooldown() is called var/cooldown_time = 0 + // The actual next time this ability can be used var/next_use_time = 0 + // Whether or not you want the cooldown for the ability to display in text form + var/text_cooldown = TRUE + // Setting for intercepting clicks before activating the ability + var/click_to_activate = FALSE + // Shares cooldowns with other cooldown abilities of the same value, not active if null + var/shared_cooldown -/datum/action/cooldown/New() - ..() +/datum/action/cooldown/CreateButton() + var/atom/movable/screen/movable/action_button/button = ..() button.maptext = "" button.maptext_x = 8 button.maptext_y = 0 button.maptext_width = 24 button.maptext_height = 12 + return button -/datum/action/cooldown/IsAvailable(silent = FALSE) - return next_use_time <= world.time +/datum/action/cooldown/IsAvailable() + return ..() && (next_use_time <= world.time) -/datum/action/cooldown/proc/StartCooldown() - next_use_time = world.time + cooldown_time - button.maptext = "[round(cooldown_time/10, 0.1)]" - UpdateButtonIcon() +/// Starts a cooldown time to be shared with similar abilities, will use default cooldown time if an override is not specified +/datum/action/cooldown/proc/StartCooldown(override_cooldown_time) + if(shared_cooldown) + for(var/datum/action/cooldown/shared_ability in owner.actions - src) + if(shared_cooldown == shared_ability.shared_cooldown) + if(isnum(override_cooldown_time)) + shared_ability.StartCooldownSelf(override_cooldown_time) + else + shared_ability.StartCooldownSelf(cooldown_time) + StartCooldownSelf(override_cooldown_time) + +/// Starts a cooldown time for this ability only, will use default cooldown time if an override is not specified +/datum/action/cooldown/proc/StartCooldownSelf(override_cooldown_time) + if(isnum(override_cooldown_time)) + next_use_time = world.time + override_cooldown_time + else + next_use_time = world.time + cooldown_time + UpdateButtons() START_PROCESSING(SSfastprocess, src) -/datum/action/cooldown/process() +/datum/action/cooldown/Trigger(trigger_flags, atom/target) + . = ..() + if(!.) + return if(!owner) + return FALSE + if(click_to_activate) + if(target) + // For automatic / mob handling + return InterceptClickOn(owner, null, target) + if(owner.click_intercept == src) + owner.click_intercept = null + else + owner.click_intercept = src + for(var/datum/action/cooldown/ability in owner.actions) + ability.UpdateButtons() + return TRUE + return PreActivate(owner) + +/// Intercepts client owner clicks to activate the ability +/datum/action/cooldown/proc/InterceptClickOn(mob/living/caller, params, atom/target) + if(!IsAvailable()) + return FALSE + if(!target) + return FALSE + PreActivate(target) + caller.click_intercept = null + return TRUE + +/// For signal calling +/datum/action/cooldown/proc/PreActivate(atom/target) + if(SEND_SIGNAL(owner, COMSIG_MOB_ABILITY_STARTED, src) & COMPONENT_BLOCK_ABILITY_START) + return + . = Activate(target) + SEND_SIGNAL(owner, COMSIG_MOB_ABILITY_FINISHED, src) + +/// To be implemented by subtypes +/datum/action/cooldown/proc/Activate(atom/target) + return + +/datum/action/cooldown/UpdateButton(atom/movable/screen/movable/action_button/button, status_only = FALSE, force = FALSE) + . = ..() + if(!button) + return + var/time_left = max(next_use_time - world.time, 0) + if(text_cooldown) + button.maptext = MAPTEXT("[round(time_left/10, 0.1)]") + if(!owner || time_left == 0) button.maptext = "" + if(IsAvailable() && owner.click_intercept == src) + button.color = COLOR_GREEN + +/datum/action/cooldown/process() + var/time_left = max(next_use_time - world.time, 0) + if(!owner || time_left == 0) STOP_PROCESSING(SSfastprocess, src) - var/timeleft = max(next_use_time - world.time, 0) - if(timeleft == 0) - button.maptext = "" - UpdateButtonIcon() - STOP_PROCESSING(SSfastprocess, src) - else - button.maptext = "[round(timeleft/10, 0.1)]" + UpdateButtons() /datum/action/cooldown/Grant(mob/M) ..() - if(owner) - UpdateButtonIcon() - if(next_use_time > world.time) - START_PROCESSING(SSfastprocess, src) + if(!owner) + return + UpdateButtons() + if(next_use_time > world.time) + START_PROCESSING(SSfastprocess, src) //surf_ss13 /datum/action/item_action/bhop @@ -841,7 +959,7 @@ target.plane = old_plane current_button.appearance_cache = target.appearance -/proc/get_action_of_type(mob/M, var/action_type) +/proc/get_action_of_type(mob/M, action_type) if(!M.actions || !ispath(action_type, /datum/action)) return for(var/datum/action/A in M.actions) diff --git a/code/datums/brain_damage/imaginary_friend.dm b/code/datums/brain_damage/imaginary_friend.dm index 787d66ac39..190035d129 100644 --- a/code/datums/brain_damage/imaginary_friend.dm +++ b/code/datums/brain_damage/imaginary_friend.dm @@ -225,7 +225,7 @@ name = "Hide" desc = "Hide yourself from your owner's sight." button_icon_state = "hide" - UpdateButtonIcon() + UpdateButtons() /datum/action/innate/imaginary_hide/Activate() var/mob/camera/imaginary_friend/I = owner diff --git a/code/datums/chatmessage.dm b/code/datums/chatmessage.dm index 4b49a3b137..1390b6c872 100644 --- a/code/datums/chatmessage.dm +++ b/code/datums/chatmessage.dm @@ -130,7 +130,9 @@ var/tgt_color = extra_classes.Find("italics") ? target.chat_color_darkened : target.chat_color var/complete_text = "[owner.say_emphasis(text)]" - var/mheight = WXH_TO_HEIGHT(owned_by.MeasureText(complete_text, null, CHAT_MESSAGE_WIDTH)) + + var/mheight + WXH_TO_HEIGHT(owned_by.MeasureText(complete_text, null, CHAT_MESSAGE_WIDTH), mheight) approx_lines = max(1, mheight / CHAT_MESSAGE_APPROX_LHEIGHT) // Translate any existing messages upwards, apply exponential decay factors to timers diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm index fc853281f9..d32caeaea9 100644 --- a/code/datums/components/crafting/crafting.dm +++ b/code/datums/components/crafting/crafting.dm @@ -1,17 +1,13 @@ /datum/component/personal_crafting/Initialize() if(ismob(parent)) - RegisterSignal(parent, COMSIG_MOB_CLIENT_LOGIN, PROC_REF(create_mob_button)) + RegisterSignal(parent, COMSIG_MOB_HUD_CREATED, PROC_REF(create_mob_button)) -/datum/component/personal_crafting/proc/create_mob_button(mob/user, client/CL) +/datum/component/personal_crafting/proc/create_mob_button(mob/user) var/datum/hud/H = user.hud_used - for(var/huds in H.static_inventory) - if(istype(huds, /atom/movable/screen/craft)) - return - //We don't want to be stacking multiple crafting huds on relogs var/atom/movable/screen/craft/C = new() C.icon = H.ui_style H.static_inventory += C - CL.screen += C + user.client.screen += C RegisterSignal(C, COMSIG_CLICK, PROC_REF(component_ui_interact)) /datum/component/personal_crafting diff --git a/code/datums/components/fullauto.dm b/code/datums/components/fullauto.dm index de34899ad0..a39204fe36 100644 --- a/code/datums/components/fullauto.dm +++ b/code/datums/components/fullauto.dm @@ -117,7 +117,7 @@ return if(LAZYACCESS(modifiers, ALT_CLICK)) return - if(source.mob.in_throw_mode) + if(source.mob.throw_mode) return if(!isturf(source.mob.loc)) //No firing inside lockers and stuff. return diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm index fbd0aa12d7..aac8075209 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -328,9 +328,9 @@ /// For spawning mineral sheets at a specific location. Used by machines to output sheets. /datum/component/material_container/proc/retrieve_sheets(sheet_amt, var/datum/material/M, target = null) if(!M.sheet_type) - return 0 //Add greyscale sheet handling here later + return FALSE //Add greyscale sheet handling here later if(sheet_amt <= 0) - return 0 + return FALSE if(!target) target = get_turf(parent) diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm index 6c4abea699..92576be5ba 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -268,7 +268,7 @@ else if(the_event.timeout) addtimer(CALLBACK(src, PROC_REF(clear_event), null, category), the_event.timeout, TIMER_UNIQUE|TIMER_OVERRIDE) - return 0 //Don't have to update the event. + return FALSE //Don't have to update the event. the_event = new type(src, param)//This causes a runtime for some reason, was this me? No - there's an event floating around missing a definition. mood_events[category] = the_event @@ -280,7 +280,7 @@ /datum/component/mood/proc/clear_event(datum/source, category) var/datum/mood_event/event = mood_events[category] if(!event) - return 0 + return FALSE mood_events -= category qdel(event) diff --git a/code/datums/components/riding.dm b/code/datums/components/riding.dm index 18fe0b72dc..d99258a2c7 100644 --- a/code/datums/components/riding.dm +++ b/code/datums/components/riding.dm @@ -392,3 +392,12 @@ if(rider in AM.buckled_mobs) AM.unbuckle_mob(rider) . = ..() + +/obj/item/riding_offhand/on_thrown(mob/living/carbon/user, atom/target) + if(rider == user) + return //Piggyback user. + user.unbuckle_mob(rider) + if(HAS_TRAIT(user, TRAIT_PACIFISM)) + to_chat(user, span_notice("You gently let go of [rider].")) + return + return rider diff --git a/code/datums/components/spawner.dm b/code/datums/components/spawner.dm index 78b7f64677..3ab9e6dd0d 100644 --- a/code/datums/components/spawner.dm +++ b/code/datums/components/spawner.dm @@ -43,9 +43,9 @@ /datum/component/spawner/proc/try_spawn_mob() var/atom/P = parent if(spawned_mobs.len >= max_mobs) - return 0 + return FALSE if(spawn_delay > world.time) - return 0 + return FALSE spawn_delay = world.time + spawn_time var/chosen_mob_type = pick(mob_types) var/mob/living/simple_animal/L = new chosen_mob_type(P.loc) diff --git a/code/datums/components/storage/concrete/stack.dm b/code/datums/components/storage/concrete/stack.dm index d7b118cee4..1e57d2da3a 100644 --- a/code/datums/components/storage/concrete/stack.dm +++ b/code/datums/components/storage/concrete/stack.dm @@ -63,7 +63,7 @@ if(!istype(I) || QDELETED(I)) //We're specialized stack storage, just ignore non stacks. continue if(!.[I.merge_type]) - .[I.merge_type] = new /datum/numbered_display(I, I.amount) + .[I.merge_type] = new /datum/numbered_display(I, I.amount, src) else var/datum/numbered_display/ND = .[I.merge_type] ND.number += I.amount diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index 9d8497350b..070af233a5 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -486,7 +486,7 @@ var/atom/A = parent A.do_squish() -//This proc return 1 if the item can be picked up and 0 if it can't. +//This proc return TRUE if the item can be picked up and 0 if it can't. //Set the stop_messages to stop it from printing messages /datum/component/storage/proc/can_be_inserted(obj/item/I, stop_messages = FALSE, mob/M) if(!istype(I) || (I.item_flags & ABSTRACT)) diff --git a/code/datums/components/storage/ui.dm b/code/datums/components/storage/ui.dm index 92df681245..c0cc03965c 100644 --- a/code/datums/components/storage/ui.dm +++ b/code/datums/components/storage/ui.dm @@ -48,7 +48,7 @@ var/datum/numbered_display/ND = numbered_contents[type] ND.sample_object.mouse_opacity = MOUSE_OPACITY_OPAQUE ND.sample_object.screen_loc = "[cx]:[screen_pixel_x],[cy]:[screen_pixel_y]" - ND.sample_object.maptext = "[(ND.number > 1)? "[ND.number]" : ""]" + ND.sample_object.maptext = MAPTEXT("[(ND.number > 1)? "[ND.number]" : ""]") ND.sample_object.layer = ABOVE_HUD_LAYER ND.sample_object.plane = ABOVE_HUD_PLANE . += ND.sample_object diff --git a/code/datums/components/summoning.dm b/code/datums/components/summoning.dm index 0394a1abaf..037b070ce8 100644 --- a/code/datums/components/summoning.dm +++ b/code/datums/components/summoning.dm @@ -49,11 +49,11 @@ /datum/component/summoning/proc/do_spawn_mob(atom/spawn_location, summoner) if(spawned_mobs.len >= max_mobs) - return 0 + return FALSE if(last_spawned_time > world.time) - return 0 + return FALSE if(!prob(spawn_chance)) - return 0 + return FALSE last_spawned_time = world.time + spawn_delay var/chosen_mob_type = pick(mob_types) var/mob/living/simple_animal/L = new chosen_mob_type(spawn_location) diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm index 1d74c78747..cace48f53e 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -66,7 +66,7 @@ ///See if we can tackle or not. If we can, leap! /datum/component/tackler/proc/checkTackle(mob/living/carbon/user, atom/A, params) - if(!user.in_throw_mode || user.get_active_held_item() || user.pulling || user.buckling) + if(!user.throw_mode || user.get_active_held_item() || user.pulling || user.buckling) return if(HAS_TRAIT(user, TRAIT_HULK)) diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index 0bb803ddb3..976ccb6b6c 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -27,6 +27,7 @@ VV_DROPDOWN_OPTION("", "---") VV_DROPDOWN_OPTION(VV_HK_CALLPROC, "Call Proc") VV_DROPDOWN_OPTION(VV_HK_MARK, "Mark Object") + VV_DROPDOWN_OPTION(VV_HK_TAG, "Tag Datum") VV_DROPDOWN_OPTION(VV_HK_DELETE, "Delete") VV_DROPDOWN_OPTION(VV_HK_EXPOSE, "Show VV To Player") VV_DROPDOWN_OPTION(VV_HK_ADDCOMPONENT, "Add Component/Element") diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index 6e8c9cc166..0f72f39653 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -135,11 +135,11 @@ /datum/disease/advance/IsSame(datum/disease/advance/D) if(!(istype(D, /datum/disease/advance))) - return 0 + return FALSE if(GetDiseaseID() != D.GetDiseaseID()) - return 0 - return 1 + return FALSE + return TRUE // Returns the advance disease with a different reference memory. /datum/disease/advance/Copy() @@ -178,8 +178,8 @@ /datum/disease/advance/proc/HasSymptom(datum/symptom/S) for(var/datum/symptom/symp in symptoms) if(symp.type == S.type) - return 1 - return 0 + return TRUE + return FALSE // Will generate new unique symptoms, use this if there are none. Returns a list of symptoms that were generated. /datum/disease/advance/proc/GenerateSymptoms(level_min, level_max, amount_get = 0) @@ -361,7 +361,7 @@ L += "[S.id]N" else L += S.id - L = sortList(L) // Sort the list so it doesn't matter which order the symptoms are in. + L = sort_list(L) // Sort the list so it doesn't matter which order the symptoms are in. var/result = jointext(L, ":") id = result return id diff --git a/code/datums/diseases/advance/symptoms/choking.dm b/code/datums/diseases/advance/symptoms/choking.dm index c34ab566cf..a46e874698 100644 --- a/code/datums/diseases/advance/symptoms/choking.dm +++ b/code/datums/diseases/advance/symptoms/choking.dm @@ -64,11 +64,11 @@ Bonus /datum/symptom/choking/proc/Choke_stage_3_4(mob/living/M, datum/disease/advance/A) M.adjustOxyLoss(rand(6,13)) - return 1 + return TRUE /datum/symptom/choking/proc/Choke(mob/living/M, datum/disease/advance/A) M.adjustOxyLoss(rand(10,18)) - return 1 + return TRUE /* ////////////////////////////////////// @@ -136,17 +136,17 @@ Bonus /datum/symptom/asphyxiation/proc/Asphyxiate_stage_3_4(mob/living/M, datum/disease/advance/A) var/get_damage = rand(10,15) * power M.adjustOxyLoss(get_damage) - return 1 + return TRUE /datum/symptom/asphyxiation/proc/Asphyxiate(mob/living/M, datum/disease/advance/A) var/get_damage = rand(15,21) * power M.adjustOxyLoss(get_damage) if(paralysis) M.reagents.add_reagent_list(list(/datum/reagent/toxin/pancuronium = 3, /datum/reagent/toxin/sodium_thiopental = 3)) - return 1 + return TRUE /datum/symptom/asphyxiation/proc/Asphyxiate_death(mob/living/M, datum/disease/advance/A) var/get_damage = rand(25,35) * power M.adjustOxyLoss(get_damage) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, get_damage/2) - return 1 + return TRUE diff --git a/code/datums/diseases/advance/symptoms/fever.dm b/code/datums/diseases/advance/symptoms/fever.dm index 0348e39818..be551addbf 100644 --- a/code/datums/diseases/advance/symptoms/fever.dm +++ b/code/datums/diseases/advance/symptoms/fever.dm @@ -58,4 +58,4 @@ Bonus M.adjust_bodytemperature(get_heat * A.stage, 0, BODYTEMP_HEAT_DAMAGE_LIMIT - 1) else M.adjust_bodytemperature(get_heat * A.stage) - return 1 + return TRUE diff --git a/code/datums/diseases/advance/symptoms/fire.dm b/code/datums/diseases/advance/symptoms/fire.dm index c30da0614a..57c6ff8203 100644 --- a/code/datums/diseases/advance/symptoms/fire.dm +++ b/code/datums/diseases/advance/symptoms/fire.dm @@ -71,14 +71,14 @@ Bonus M.adjustFireLoss(3 * power) if(infective) A.spread(2) - return 1 + return TRUE /datum/symptom/fire/proc/Firestacks_stage_5(mob/living/M, datum/disease/advance/A) M.adjust_fire_stacks(3 * power) M.adjustFireLoss(5 * power) if(infective) A.spread(4) - return 1 + return TRUE /* ////////////////////////////////////// @@ -157,7 +157,7 @@ Bonus M.adjustFireLoss(get_stacks/2) if(chems) M.reagents.add_reagent(/datum/reagent/clf3, 2 * power) - return 1 + return TRUE /datum/symptom/alkali/proc/Alkali_fire_stage_5(mob/living/M, datum/disease/advance/A) var/get_stacks = 8 * power @@ -165,4 +165,4 @@ Bonus M.adjustFireLoss(get_stacks) if(chems) M.reagents.add_reagent_list(list(/datum/reagent/napalm = 4 * power, /datum/reagent/clf3 = 4 * power)) - return 1 + return TRUE diff --git a/code/datums/diseases/advance/symptoms/flesh_eating.dm b/code/datums/diseases/advance/symptoms/flesh_eating.dm index b5b55c1e14..0fb97cdc41 100644 --- a/code/datums/diseases/advance/symptoms/flesh_eating.dm +++ b/code/datums/diseases/advance/symptoms/flesh_eating.dm @@ -65,7 +65,7 @@ Bonus var/mob/living/carbon/human/H = M var/obj/item/bodypart/random_part = pick(H.bodyparts) random_part.generic_bleedstacks += 5 * power - return 1 + return TRUE /* ////////////////////////////////////// @@ -133,4 +133,4 @@ Bonus M.reagents.add_reagent_list(list(/datum/reagent/toxin/heparin = 2, /datum/reagent/toxin/lipolicide = 2)) if(zombie) M.reagents.add_reagent(/datum/reagent/romerol, 1) - return 1 + return TRUE diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index 22af76c1f9..f16c6fc3d4 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -92,7 +92,7 @@ for(var/obj/item/bodypart/L in parts) if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len)) M.update_damage_overlays() - return 1 + return TRUE /datum/symptom/heal/starlight/passive_message_condition(mob/living/M) if(M.getBruteLoss() || M.getFireLoss() || M.getToxLoss()) @@ -129,7 +129,7 @@ M.adjust_nutrition(0.3) if(prob(2)) to_chat(M, "You feel a mild warmth as your blood purifies itself.") - return 1 + return TRUE @@ -167,7 +167,7 @@ C.adjust_nutrition(-lost_nutrition * HUNGER_FACTOR) //Hunger depletes at 10x the normal speed if(prob(2)) to_chat(C, "You feel an odd gurgle in your stomach, as if it was working much faster than normal.") - return 1 + return TRUE /datum/symptom/heal/darkness name = "Nocturnal Regeneration" @@ -210,7 +210,7 @@ for(var/obj/item/bodypart/L in parts) if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len * 0.5)) //more effective on brute M.update_damage_overlays() - return 1 + return TRUE /datum/symptom/heal/darkness/passive_message_condition(mob/living/M) if(M.getBruteLoss() || M.getFireLoss()) @@ -307,7 +307,7 @@ if(active_coma && M.getBruteLoss() + M.getFireLoss() == 0) uncoma(M) - return 1 + return TRUE /datum/symptom/heal/coma/passive_message_condition(mob/living/M) if((M.getBruteLoss() + M.getFireLoss()) > 30) @@ -365,7 +365,7 @@ if(L.heal_damage(heal_amt/parts.len * 0.5, heal_amt/parts.len)) M.update_damage_overlays() - return 1 + return TRUE /datum/symptom/heal/water/passive_message_condition(mob/living/M) if(M.getBruteLoss() || M.getFireLoss()) @@ -435,7 +435,7 @@ for(var/obj/item/bodypart/L in parts) if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len)) M.update_damage_overlays() - return 1 + return TRUE /datum/symptom/heal/radiation @@ -475,7 +475,7 @@ if(RAD_BURN_THRESHOLD to RAD_MOB_MUTATE) return 0.75 if(RAD_MOB_MUTATE to RAD_MOB_KNOCKDOWN) - return 1 + return TRUE else return 1.5 @@ -498,4 +498,4 @@ for(var/obj/item/bodypart/L in parts) if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len)) M.update_damage_overlays() - return 1 + return TRUE diff --git a/code/datums/diseases/advance/symptoms/shivering.dm b/code/datums/diseases/advance/symptoms/shivering.dm index 7674d80495..4bce1ac65e 100644 --- a/code/datums/diseases/advance/symptoms/shivering.dm +++ b/code/datums/diseases/advance/symptoms/shivering.dm @@ -58,4 +58,4 @@ Bonus if(unsafe) limit = 0 M.adjust_bodytemperature(-get_cold * A.stage, limit) - return 1 + return TRUE diff --git a/code/datums/dna.dm b/code/datums/dna.dm index 7d1ddc5648..83e2de80b9 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -538,7 +538,7 @@ /datum/dna/proc/check_block_string(mutation) if((LAZYLEN(mutation_index) > DNA_MUTATION_BLOCKS) || !(mutation in mutation_index)) - return 0 + return FALSE return is_gene_active(mutation) /datum/dna/proc/is_gene_active(mutation) @@ -585,7 +585,7 @@ /proc/setblock(istring, blocknumber, replacement, blocksize=DNA_BLOCK_SIZE) if(!istring || !blocknumber || !replacement || !blocksize) - return 0 + return FALSE return getleftblocks(istring, blocknumber, blocksize) + replacement + getrightblocks(istring, blocknumber, blocksize) /datum/dna/proc/mutation_in_sequence(mutation) @@ -649,7 +649,7 @@ /proc/scramble_dna(mob/living/carbon/M, ui=FALSE, se=FALSE, probability) if(!M.has_dna()) - return 0 + return FALSE if(se) for(var/i=1, i<=DNA_MUTATION_BLOCKS, i++) if(prob(probability)) @@ -660,7 +660,7 @@ if(prob(probability)) M.dna.uni_identity = setblock(M.dna.uni_identity, i, random_string(DNA_BLOCK_SIZE, GLOB.hex_characters)) M.updateappearance(mutations_overlay_update=1) - return 1 + return TRUE //value in range 1 to values. values must be greater than 0 //all arguments assumed to be positive integers diff --git a/code/datums/elements/mob_holder.dm b/code/datums/elements/mob_holder.dm index 5ddbc48537..8921128e9f 100644 --- a/code/datums/elements/mob_holder.dm +++ b/code/datums/elements/mob_holder.dm @@ -61,7 +61,7 @@ return FALSE source.visible_message("[user] starts picking up [source].", \ "[user] starts picking you up!") - if(!do_after(user, 20, target = source) || source.buckled) + if(!do_after(user, 2 SECONDS, target = source) || source.buckled) return FALSE source.visible_message("[user] picks up [source]!", \ @@ -95,6 +95,7 @@ dynamic_hair_suffix = "" var/mob/living/held_mob var/escape_on_find + var/destroying = FALSE /obj/item/clothing/head/mob_holder/Initialize(mapload, mob/living/target, worn_state, alt_worn, right_hand, left_hand, slots = NONE) . = ..() @@ -134,45 +135,54 @@ w_class = WEIGHT_CLASS_HUGE /obj/item/clothing/head/mob_holder/Destroy() + destroying = TRUE if(held_mob) - release() + release(FALSE) return ..() /obj/item/clothing/head/mob_holder/examine(mob/user) return held_mob?.examine(user) || ..() -/obj/item/clothing/head/mob_holder/Exited(atom/movable/AM, atom/newloc) - . = ..() - if(AM == held_mob) - held_mob.reset_perspective() - held_mob = null - QDEL_IN(src, 1) //To avoid a qdel loop. +/obj/item/clothing/head/mob_holder/on_thrown(mob/living/carbon/user, atom/target) + if((item_flags & ABSTRACT) || HAS_TRAIT(src, TRAIT_NODROP)) + return + if(HAS_TRAIT(user, TRAIT_PACIFISM)) + to_chat(user, span_notice("You set [src] down gently on the ground.")) + release() + return -/obj/item/clothing/head/mob_holder/Entered(atom/movable/AM, atom/newloc) - . = ..() - if(AM != held_mob) - var/destination = loc - if(isliving(loc)) //the mob is held or worn, drop things on the floor - destination = get_turf(loc) - AM.forceMove(destination) + var/mob/living/throw_mob = held_mob + release() + return throw_mob /obj/item/clothing/head/mob_holder/dropped(mob/user) . = ..() - if(held_mob && !ismob(loc) && !istype(loc,/obj/item/storage))//don't release on soft-drops + if(held_mob && isturf(loc)) release() -/obj/item/clothing/head/mob_holder/proc/release() - if(held_mob) - var/mob/living/L = held_mob - held_mob = null - L.forceMove(get_turf(L)) - L.reset_perspective() - L.setDir(SOUTH) - if(!QDELETED(src)) +/obj/item/clothing/head/mob_holder/proc/release(del_on_release = TRUE, display_messages = TRUE) + if(!held_mob) + if(del_on_release && !destroying) + qdel(src) + return FALSE + var/mob/living/released_mob = held_mob + held_mob = null // stops the held mob from being release()'d twice. + if(isliving(loc)) + var/mob/living/L = loc + if(display_messages) + to_chat(L, span_warning("[released_mob] wriggles free!")) + L.dropItemToGround(src) + released_mob.forceMove(drop_location()) + released_mob.reset_perspective() + released_mob.setDir(SOUTH) + if(display_messages) + released_mob.visible_message(span_warning("[released_mob] uncurls!")) + if(del_on_release && !destroying) qdel(src) + return TRUE -/obj/item/clothing/head/mob_holder/relaymove(mob/user) - return +/obj/item/clothing/head/mob_holder/relaymove(mob/living/user, direction) + container_resist() /obj/item/clothing/head/mob_holder/container_resist() if(isliving(loc)) @@ -180,6 +190,11 @@ L.visible_message("[held_mob] escapes from [L]!", "[held_mob] escapes your grip!") release() +/obj/item/clothing/head/mob_holder/Exited(atom/movable/gone, direction) + . = ..() + if(held_mob && held_mob == gone) + release() + /obj/item/clothing/head/mob_holder/mob_can_equip(M, equipper, slot, disable_warning, bypass_equip_delay_self) if(M == held_mob || !ishuman(M)) //monkeys holding monkeys holding monkeys... return FALSE @@ -232,7 +247,9 @@ return location.transfer_air(taker, ratio) // escape when found if applicable -/obj/item/clothing/head/mob_holder/on_found(mob/living/finder) +/obj/item/clothing/head/mob_holder/on_found(mob/finder) if(escape_on_find) - finder.visible_message("[finder] accidentally releases the [held_mob]!") - release() + to_chat(finder, span_warning("\A [held_mob.name] pops out! ")) + finder.visible_message(span_warning("\A [held_mob.name] pops out of the container [finder] is opening!"), ignored_mobs = finder) + release(TRUE, FALSE) + return diff --git a/code/datums/elements/object_reskinning.dm b/code/datums/elements/object_reskinning.dm index 3b77e4d7c4..468e681e5f 100644 --- a/code/datums/elements/object_reskinning.dm +++ b/code/datums/elements/object_reskinning.dm @@ -65,7 +65,7 @@ icon = to_reskin.unique_reskin[reskin_option]["icon"] ? to_reskin.unique_reskin[reskin_option]["icon"] : to_reskin.icon, icon_state = to_reskin.unique_reskin[reskin_option]["icon_state"] ? to_reskin.unique_reskin[reskin_option]["icon_state"] : to_reskin.icon_state) items += list("[reskin_option]" = item_image) - sortList(items) + items = sort_list(items) // Display to the user var/pick = show_radial_menu(user, to_reskin, items, custom_check = CALLBACK(src, PROC_REF(check_reskin_menu), user, to_reskin), radius = 38, require_near = TRUE) diff --git a/code/datums/elements/polychromic.dm b/code/datums/elements/polychromic.dm index 2027aa658b..79e186ffe9 100644 --- a/code/datums/elements/polychromic.dm +++ b/code/datums/elements/polychromic.dm @@ -63,7 +63,7 @@ if(suits_with_helmet_typecache[A.type]) RegisterSignal(A, COMSIG_SUIT_MADE_HELMET, PROC_REF(register_helmet)) //you better work now you slut else if(_flags & POLYCHROMIC_ACTION && ismob(A)) //in the event mob update icon procs are ever standarized. - var/datum/action/polychromic/P = new(A) + var/datum/action/item_action/polychromic/P = new(A) RegisterSignal(P, COMSIG_ACTION_TRIGGER, PROC_REF(activate_action)) actions_by_atom[A] = P P.Grant(A) @@ -73,7 +73,7 @@ /datum/element/polychromic/Detach(atom/A) . = ..() colors_by_atom -= A - var/datum/action/polychromic/P = actions_by_atom[A] + var/datum/action/item_action/polychromic/P = actions_by_atom[A] if(P) actions_by_atom -= A qdel(P) @@ -146,7 +146,7 @@ /datum/element/polychromic/proc/grant_user_action(atom/source, mob/user, slot) if(slot == ITEM_SLOT_BACKPACK || slot == ITEM_SLOT_LEGCUFFED || slot == ITEM_SLOT_HANDCUFFED || slot == ITEM_SLOT_DEX_STORAGE) return - var/datum/action/polychromic/P = actions_by_atom[source] + var/datum/action/item_action/polychromic/P = actions_by_atom[source] if(!P) P = new (source) P.name = "Modify [source]'\s Colors" @@ -156,7 +156,7 @@ P.Grant(user) /datum/element/polychromic/proc/remove_user_action(atom/source, mob/user) - var/datum/action/polychromic/P = actions_by_atom[source] + var/datum/action/item_action/polychromic/P = actions_by_atom[source] P?.Remove(user) /datum/element/polychromic/proc/activate_action(datum/action/source, atom/target) @@ -197,9 +197,14 @@ helmet_by_suit -= S colors_by_atom -= source -/datum/action/polychromic +/datum/action/item_action/polychromic name = "Modify Polychromic Colors" background_icon_state = "bg_polychromic" - use_target_appearance = TRUE button_icon_state = null - target_appearance_matrix = list(0.8,0,0,0,0.8,0) + check_flags = NONE + +/datum/action/item_action/polychromic/ApplyIcon(atom/movable/screen/movable/action_button/current_button, force) + var/matrix/save_matrix = target.transform + target.transform = matrix(0.8, 0, 0, 0, 0.8, 0) + . = ..() + target.transform = save_matrix diff --git a/code/datums/explosion.dm b/code/datums/explosion.dm index 138ccf6207..339d0ce786 100644 --- a/code/datums/explosion.dm +++ b/code/datums/explosion.dm @@ -397,7 +397,7 @@ GLOBAL_LIST_EMPTY(explosions) var/choice = input("Bomb Size?") in choices switch(choice) if(null) - return 0 + return FALSE if("Small Bomb") dev = 1 heavy = 2 @@ -436,13 +436,13 @@ GLOBAL_LIST_EMPTY(explosions) if(dist < dev) T.color = "red" - T.maptext = "Dev" + T.maptext = MAPTEXT("Dev") else if (dist < heavy) T.color = "yellow" - T.maptext = "Heavy" + T.maptext = MAPTEXT("Heavy") else if (dist < light) T.color = "blue" - T.maptext = "Light" + T.maptext = MAPTEXT("Light") else continue diff --git a/code/datums/martial/boxing.dm b/code/datums/martial/boxing.dm index 32b916d724..8fb2c9a141 100644 --- a/code/datums/martial/boxing.dm +++ b/code/datums/martial/boxing.dm @@ -6,11 +6,11 @@ /datum/martial_art/boxing/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) to_chat(A, "Can't disarm while boxing!") - return 1 + return TRUE /datum/martial_art/boxing/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D) to_chat(A, "Can't grab while boxing!") - return 1 + return TRUE /datum/martial_art/boxing/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -46,7 +46,7 @@ log_combat(A, D, "knocked out (boxing) ") else if(D.lying) D.forcesay(GLOB.hit_appends) - return 1 + return TRUE /datum/martial_art/boxing/teach(mob/living/carbon/human/H, make_temporary = TRUE) . = ..() diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 27702c6ec8..d23db6f055 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -127,7 +127,7 @@ return BULLET_ACT_HIT if(!isturf(A.loc)) //NO MOTHERFLIPPIN MECHS! return BULLET_ACT_HIT - if(A.in_throw_mode) + if(A.throw_mode) A.visible_message("[A] effortlessly swats the projectile aside! They can deflect projectile with their bare hands!", "You deflect the projectile!") playsound(get_turf(A), pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE) P.firer = A diff --git a/code/datums/mind.dm b/code/datums/mind.dm index abc5ec96fb..b751d2cbbd 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -67,6 +67,8 @@ var/datum/language_holder/language_holder var/unconvertable = FALSE var/late_joiner = FALSE + ///has this mind ever been an AI + var/has_ever_been_ai = FALSE var/force_escaped = FALSE // Set by Into The Sunset command of the shuttle manipulator var/list/learned_recipes //List of learned recipe TYPES. @@ -286,6 +288,21 @@ if(O) O.unlock_code = null +/// Remove the antagonists that should not persist when being borged +/datum/mind/proc/remove_antags_for_borging() + remove_antag_datum(/datum/antagonist/cult) + + var/datum/antagonist/rev/revolutionary = has_antag_datum(/datum/antagonist/rev) + revolutionary?.remove_revolutionary(TRUE) + + if(!isbrain(current)) + return + if(!istype(current.loc, /obj/item/mmi)) + return + var/obj/item/mmi/B = current.loc.loc + if(!istype(B.laws, /datum/ai_laws/ratvar)) + remove_servant_of_ratvar(current, TRUE) + /datum/mind/proc/remove_all_antag() //For the Lazy amongst us. remove_changeling() remove_traitor() @@ -1644,7 +1661,7 @@ GLOBAL_LIST(objective_choices) if(istype(S, type)) continue S.charge_counter = delay - S.updateButtonIcon() + S.UpdateButton() INVOKE_ASYNC(S, /obj/effect/proc_holder/spell.proc/start_recharge) /datum/mind/proc/get_ghost(even_if_they_cant_reenter) diff --git a/code/datums/mutations/_mutations.dm b/code/datums/mutations/_mutations.dm index 80bb252f87..591e4dd258 100644 --- a/code/datums/mutations/_mutations.dm +++ b/code/datums/mutations/_mutations.dm @@ -119,8 +119,8 @@ owner.RemoveSpell(power) qdel(power) SEND_SIGNAL(owner, COMSIG_HUMAN_MUTATION_LOSS, src) - return 0 - return 1 + return FALSE + return TRUE /datum/mutation/human/proc/say_mod(message) if(message) diff --git a/code/datums/recipe.dm b/code/datums/recipe.dm index c4d0d6f9c6..9a484c9e4d 100644 --- a/code/datums/recipe.dm +++ b/code/datums/recipe.dm @@ -48,7 +48,7 @@ if (aval_r_amnt>reagents_list[r_r]) . = -1 else - return 0 + return FALSE if ((reagents_list?(reagents_list.len):(0)) < avail_reagents.reagent_list.len) return -1 return . @@ -58,7 +58,7 @@ if (locate(/obj/) in container) return -1 else - return 1 + return TRUE . = 1 var/list/checklist = items.Copy() for (var/obj/O in container) @@ -71,7 +71,7 @@ if (!found) . = -1 if (checklist.len) - return 0 + return FALSE return . //general version diff --git a/code/datums/status_effects/status_effect.dm b/code/datums/status_effects/status_effect.dm index f3171f6197..d55289c32d 100644 --- a/code/datums/status_effects/status_effect.dm +++ b/code/datums/status_effects/status_effect.dm @@ -95,7 +95,7 @@ * Multiplied to clickdelays */ /datum/status_effect/proc/action_cooldown_mod() - return 1 + return TRUE //////////////// // ALERT HOOK // diff --git a/code/datums/view.dm b/code/datums/view.dm index 5610fb040e..7313cc4c18 100644 --- a/code/datums/view.dm +++ b/code/datums/view.dm @@ -1,108 +1,110 @@ //This is intended to be a full wrapper. DO NOT directly modify its values ///Container for client viewsize -/datum/viewData +/datum/view_data var/width = 0 var/height = 0 var/default = "" var/is_suppressed = FALSE var/client/chief = null -/datum/viewData/New(client/owner, view_string) +/datum/view_data/New(client/owner, view_string) default = view_string chief = owner apply() -/datum/viewData/proc/setDefault(string) +/datum/view_data/proc/setDefault(string) default = string apply() -/datum/viewData/proc/safeApplyFormat() +/datum/view_data/proc/afterViewChange() if(isZooming()) assertFormat() - return - resetFormat() + else + resetFormat() + var/datum/hud/our_hud = chief?.mob?.hud_used + our_hud.view_audit_buttons() // Make sure our hud's buttons are in our new size -/datum/viewData/proc/assertFormat()//T-Pose +/datum/view_data/proc/assertFormat()//T-Pose // winset(chief, "mapwindow.map", "zoom=0") // Citadel Edit - We're using icon dropdown instead -/datum/viewData/proc/resetFormat()//Cuck +/datum/view_data/proc/resetFormat()//Cuck // winset(chief, "mapwindow.map", "zoom=[chief.prefs.pixel_size]") // Citadel Edit - We're using icon dropdown instead -/datum/viewData/proc/setZoomMode() +/datum/view_data/proc/setZoomMode() // winset(chief, "mapwindow.map", "zoom-mode=[chief.prefs.scaling_method]") // Citadel Edit - We're using icon dropdown instead -/datum/viewData/proc/isZooming() +/datum/view_data/proc/isZooming() return (width || height) -/datum/viewData/proc/resetToDefault() +/datum/view_data/proc/resetToDefault() width = 0 height = 0 apply() -/datum/viewData/proc/add(toAdd) +/datum/view_data/proc/add(toAdd) width += toAdd height += toAdd apply() -/datum/viewData/proc/addTo(toAdd) +/datum/view_data/proc/addTo(toAdd) var/list/shitcode = getviewsize(toAdd) width += shitcode[1] height += shitcode[2] apply() -/datum/viewData/proc/setTo(toAdd) +/datum/view_data/proc/setTo(toAdd) var/list/shitcode = getviewsize(toAdd) //Backward compatability to account width = shitcode[1] //for a change in how sizes get calculated. we used to include world.view in height = shitcode[2] //this, but it was jank, so I had to move it apply() -/datum/viewData/proc/setBoth(wid, hei) +/datum/view_data/proc/setBoth(wid, hei) width = wid height = hei apply() -/datum/viewData/proc/setWidth(wid) +/datum/view_data/proc/setWidth(wid) width = wid apply() -/datum/viewData/proc/setHeight(hei) +/datum/view_data/proc/setHeight(hei) width = hei apply() -/datum/viewData/proc/addToWidth(toAdd) +/datum/view_data/proc/addToWidth(toAdd) width += toAdd apply() -/datum/viewData/proc/addToHeight(screen, toAdd) +/datum/view_data/proc/addToHeight(screen, toAdd) height += toAdd apply() -/datum/viewData/proc/apply() +/datum/view_data/proc/apply() chief.change_view(getView()) - safeApplyFormat() + afterViewChange() -/datum/viewData/proc/supress() +/datum/view_data/proc/supress() is_suppressed = TRUE apply() -/datum/viewData/proc/unsupress() +/datum/view_data/proc/unsupress() is_suppressed = FALSE apply() -/datum/viewData/proc/getView() +/datum/view_data/proc/getView() var/list/temp = getviewsize(default) if(is_suppressed) return "[temp[1]]x[temp[2]]" return "[width + temp[1]]x[height + temp[2]]" -/datum/viewData/proc/zoomIn() +/datum/view_data/proc/zoomIn() resetToDefault() animate(chief, pixel_x = 0, pixel_y = 0, 0, FALSE, LINEAR_EASING, ANIMATION_END_NOW) -/datum/viewData/proc/zoomOut(radius = 0, offset = 0, direction = FALSE) +/datum/view_data/proc/zoomOut(radius = 0, offset = 0, direction = FALSE) if(direction) var/_x = 0 var/_y = 0 diff --git a/code/datums/weather/weather.dm b/code/datums/weather/weather.dm index 9dd1a6871b..15510f6977 100644 --- a/code/datums/weather/weather.dm +++ b/code/datums/weather/weather.dm @@ -178,7 +178,7 @@ */ /datum/weather/proc/end() if(stage == END_STAGE) - return 1 + return TRUE stage = END_STAGE STOP_PROCESSING(SSweather, src) update_areas() diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 9abb55cba6..6b14fe2cd8 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -322,7 +322,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) A.power_light = FALSE A.power_equip = FALSE A.power_environ = FALSE - INVOKE_ASYNC(A, .proc/power_change) + A.power_change() STOP_PROCESSING(SSobj, src) return ..() @@ -560,9 +560,9 @@ GLOBAL_LIST_EMPTY(teleportlocs) /area/proc/powered(chan) // return true if the area has power to given channel if(!requires_power) - return 1 + return TRUE if(always_unpowered) - return 0 + return FALSE switch(chan) if(EQUIP) return power_equip @@ -571,23 +571,28 @@ GLOBAL_LIST_EMPTY(teleportlocs) if(ENVIRON) return power_environ - return 0 + return FALSE /area/space/powered(chan) //Nope.avi - return 0 + return FALSE // called when power status changes /area/proc/power_change() - for(var/obj/machinery/M in src) // for each machine in the area - M.power_change() // reverify power status (to update icons etc.) - if(sub_areas) - for(var/i in sub_areas) - var/area/A = i - A.power_light = power_light - A.power_equip = power_equip - A.power_environ = power_environ - INVOKE_ASYNC(A, .proc/power_change) + SHOULD_NOT_SLEEP(TRUE) + if(contents.len < GLOB.machines.len) // it would be faster to loop over contents + for(var/obj/machinery/M in src) // for each machine in the area + M.power_change() // reverify power status (to update icons etc.) + else // it would be faster to loop over the machines list + for(var/obj/machinery/M as anything in GLOB.machines) // for each machine + if(get_area(M) != src) // in the area + continue + M.power_change() // reverify power status (to update icons etc.) + for(var/area/A as anything in sub_areas) + A.power_light = power_light + A.power_equip = power_equip + A.power_environ = power_environ + A.power_change() update_appearance() /area/proc/usage(chan) diff --git a/code/game/area/areas/holodeck.dm b/code/game/area/areas/holodeck.dm index 35d6f1d202..ff73bf5434 100644 --- a/code/game/area/areas/holodeck.dm +++ b/code/game/area/areas/holodeck.dm @@ -26,18 +26,18 @@ /area/holodeck/powered(var/chan) if(!requires_power) - return 1 + return TRUE if(always_unpowered) - return 0 + return FALSE if(!linked) - return 0 + return FALSE var/area/A = get_area(linked) ASSERT(!istype(A, /area/holodeck)) return A.powered(chan) /area/holodeck/usage(var/chan) if(!linked) - return 0 + return FALSE var/area/A = get_area(linked) ASSERT(!istype(A, /area/holodeck)) return A.usage(chan) @@ -51,7 +51,7 @@ /area/holodeck/use_power(var/amount, var/chan) if(!linked) - return 0 + return FALSE var/area/A = get_area(linked) ASSERT(!istype(A, /area/holodeck)) return A.use_power(amount,chan) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index b473396e15..5009d1c5d2 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -613,7 +613,10 @@ cut_overlay(managed_overlays) managed_overlays = null if(length(new_overlays)) - managed_overlays = new_overlays + if (length(new_overlays) == 1) + managed_overlays = new_overlays[1] + else + managed_overlays = new_overlays add_overlay(new_overlays) . |= UPDATE_OVERLAYS @@ -667,7 +670,7 @@ if((explosion_flags & EXPLOSION_FLAG_DENSITY_DEPENDENT) && !density) return power // no block else if((explosion_flags & EXPLOSION_FLAG_HARD_OBSTACLE) && !QDELETED(src)) - return 0 // fully blocked + return FALSE // fully blocked /** * Called when a wave explosion hits this atom. @@ -686,13 +689,29 @@ SEND_SIGNAL(src, COMSIG_ATOM_FIRE_ACT, exposed_temperature, exposed_volume) return -/atom/proc/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) - if(density && !has_gravity(AM)) //thrown stuff bounces off dense stuff in no grav, unless the thrown stuff ends up inside what it hit(embedding, bola, etc...). - addtimer(CALLBACK(src, PROC_REF(hitby_react), AM), 2) +/** + * React to being hit by a thrown object + * + * Default behaviour is to call [hitby_react][/atom/proc/hitby_react] on ourselves after 2 seconds if we are dense + * and under normal gravity. + * + * Im not sure why this the case, maybe to prevent lots of hitby's if the thrown object is + * deleted shortly after hitting something (during explosions or other massive events that + * throw lots of items around - singularity being a notable example) + */ +/atom/proc/hitby(atom/movable/hitting_atom, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) + SEND_SIGNAL(src, COMSIG_ATOM_HITBY, hitting_atom, skipcatch, hitpush, blocked, throwingdatum) + if(density && !has_gravity(hitting_atom)) //thrown stuff bounces off dense stuff in no grav, unless the thrown stuff ends up inside what it hit(embedding, bola, etc...). + addtimer(CALLBACK(src, PROC_REF(hitby_react), hitting_atom), 2) -/atom/proc/hitby_react(atom/movable/AM) - if(AM && isturf(AM.loc)) - step(AM, turn(AM.dir, 180)) +/** + * We have have actually hit the passed in atom + * + * Default behaviour is to move back from the item that hit us + */ +/atom/proc/hitby_react(atom/movable/harmed_atom) + if(harmed_atom && isturf(harmed_atom.loc)) + step(harmed_atom, turn(harmed_atom.dir, 180)) /atom/proc/handle_slip(mob/living/carbon/C, knockdown_amount, obj/O, lube) return @@ -1340,6 +1359,11 @@ if(filter_data && filter_data[name]) return filters[filter_data.Find(name)] +/// Returns the indice in filters of the given filter name. +/// If it is not found, returns null. +/atom/proc/get_filter_index(name) + return filter_data?.Find(name) + /atom/proc/remove_filter(name_or_names) if(!filter_data) return @@ -1395,7 +1419,7 @@ T = get_turf(src) if(!T) - return 0 + return FALSE var/list/forced_gravity = list() SEND_SIGNAL(src, COMSIG_ATOM_HAS_GRAVITY, T, forced_gravity) @@ -1408,7 +1432,7 @@ return max_grav if(isspaceturf(T)) // Turf never has gravity - return 0 + return FALSE var/area/A = get_area(T) if(A.has_gravity) // Areas which always has gravity diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 6beb8319ec..6d02c19d23 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -383,9 +383,9 @@ if(!(impact_signal && (impact_signal & COMPONENT_MOVABLE_IMPACT_NEVERMIND))) // in case a signal interceptor broke or deleted the thing before we could process our hit return hit_atom.hitby(src, throwingdatum=throwingdatum, hitpush=hitpush) -/atom/movable/hitby(atom/movable/AM, skipcatch, hitpush = TRUE, blocked, datum/thrownthing/throwingdatum) +/atom/movable/hitby(atom/movable/hitting_atom, skipcatch, hitpush = TRUE, blocked, datum/thrownthing/throwingdatum) if(!anchored && hitpush && (!throwingdatum || (throwingdatum.force >= (move_resist * MOVE_FORCE_PUSH_RATIO)))) - step(src, AM.dir) + step(src, hitting_atom.dir) ..() /atom/movable/proc/safe_throw_at(atom/target, range, speed, mob/thrower, spin = TRUE, diagonals_first = FALSE, datum/callback/callback, force = MOVE_FORCE_STRONG, gentle = FALSE) @@ -441,7 +441,7 @@ else target_zone = thrower.zone_selected - var/datum/thrownthing/TT = new(src, target, get_turf(target), get_dir(src, target), range, speed, thrower, diagonals_first, force, gentle, callback, target_zone) + var/datum/thrownthing/TT = new(src, target, get_dir(src, target), range, speed, thrower, diagonals_first, force, gentle, callback, target_zone) var/dist_x = abs(target.x - src.x) var/dist_y = abs(target.y - src.y) diff --git a/code/game/atoms_movement.dm b/code/game/atoms_movement.dm index 9fd007e9ee..7cf86be7cf 100644 --- a/code/game/atoms_movement.dm +++ b/code/game/atoms_movement.dm @@ -207,7 +207,7 @@ SEND_SIGNAL(src, COMSIG_MOVABLE_BUMP, A) . = ..() if(!QDELETED(throwing)) - throwing.hit_atom(A) + throwing.finalize(hit = TRUE, target = A) . = TRUE if(QDELETED(A)) return @@ -291,9 +291,9 @@ * Called whenever an object moves and by mobs when they attempt to move themselves through space * And when an object or action applies a force on src, see [newtonian_move][/atom/movable/proc/newtonian_move] * - * Return 0 to have src start/keep drifting in a no-grav area and 1 to stop/not start drifting + * return FALSE to have src start/keep drifting in a no-grav area and 1 to stop/not start drifting * - * Mobs should return 1 if they should be able to move of their own volition, see [/client/proc/Move] + * Mobs should return TRUE if they should be able to move of their own volition, see [/client/proc/Move] * * Arguments: * * movement_dir - 0 when stopping or any dir when trying to move diff --git a/code/game/communications.dm b/code/game/communications.dm index 2b45fc9469..d3b4d69dad 100644 --- a/code/game/communications.dm +++ b/code/game/communications.dm @@ -150,7 +150,7 @@ GLOBAL_LIST_INIT(reverseradiochannels, list( if(range) start_point = get_turf(source) if(!start_point) - return 0 + return FALSE //Send the data for(var/current_filter in filter_list) diff --git a/code/game/gamemodes/bloodsucker/bloodsucker.dm b/code/game/gamemodes/bloodsucker/bloodsucker.dm index aa8edeaa72..73f24948d0 100644 --- a/code/game/gamemodes/bloodsucker/bloodsucker.dm +++ b/code/game/gamemodes/bloodsucker/bloodsucker.dm @@ -199,7 +199,7 @@ // Check Overdose: Am I even addicted to blood? Do I even have any in me? //if (!target.reagents.addiction_list || !target.reagents.reagent_list) //message_admins("DEBUG2: can_make_vassal() Abort: No reagents") - // return 0 + // return FALSE // Check Overdose: Did my current volume go over the Overdose threshold? //var/am_addicted = 0 //for (var/datum/reagent/blood/vampblood/blood in target.reagents.addiction_list) // overdosed is tracked in reagent_list, not addiction_list. @@ -210,7 +210,7 @@ //if (!am_addicted) //message_admins("DEBUG4: can_make_vassal() Abort: No Blood") - // return 0 + // return FALSE // No Mind! if(!target.mind || !target.mind.key) if(display_warning) diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index 77c953567c..05979867e2 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -51,10 +51,10 @@ GLOBAL_VAR(changeling_team_objective_type) //If this is not null, we hand our th changelings += changeling changeling.special_role = ROLE_CHANGELING changeling.restricted_roles = restricted_jobs - return 1 + return TRUE else setup_error = "Not enough changeling candidates" - return 0 + return FALSE /datum/game_mode/changeling/post_setup() for(var/datum/mind/changeling in changelings) diff --git a/code/game/gamemodes/changeling/traitor_chan.dm b/code/game/gamemodes/changeling/traitor_chan.dm index 691111031d..a21d6c676d 100644 --- a/code/game/gamemodes/changeling/traitor_chan.dm +++ b/code/game/gamemodes/changeling/traitor_chan.dm @@ -20,11 +20,11 @@ /datum/game_mode/traitor/changeling/can_start() if(!..()) - return 0 + return FALSE possible_changelings = get_players_for_role(ROLE_CHANGELING) if(possible_changelings.len < required_enemies) - return 0 - return 1 + return FALSE + return TRUE /datum/game_mode/traitor/changeling/pre_setup() if(CONFIG_GET(flag/protect_roles_from_antagonist)) @@ -55,7 +55,7 @@ changeling.restricted_roles = restricted_jobs return ..() else - return 0 + return FALSE /datum/game_mode/traitor/changeling/post_setup() for(var/datum/mind/changeling in changelings) diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm index 77371ad7bc..d852ce9850 100644 --- a/code/game/gamemodes/clock_cult/clock_cult.dm +++ b/code/game/gamemodes/clock_cult/clock_cult.dm @@ -188,16 +188,16 @@ Credit where due: equip_servant(L) add_servant_of_ratvar(L, TRUE) ..() - return 1 + return TRUE /datum/game_mode/proc/greet_servant(mob/M) //Description of their role if(!M) - return 0 + return FALSE to_chat(M, "You are a servant of Ratvar, the Clockwork Justiciar!") to_chat(M, "Unlock Script scripture by converting a new servant or when 35kw of power is reached.") to_chat(M, "Application scripture will be unlocked when 50kw of power is reached.") M.playsound_local(get_turf(M), 'sound/ambience/antag/clockcultalr.ogg', 100, FALSE, pressure_affected = FALSE) - return 1 + return TRUE /datum/game_mode/proc/equip_servant(mob/living/M) //Grants a clockwork slab to the mob if(!M || !ishuman(M)) diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm index f17cfde761..5891facfb7 100644 --- a/code/game/gamemodes/clown_ops/clown_weapons.dm +++ b/code/game/gamemodes/clown_ops/clown_weapons.dm @@ -151,8 +151,9 @@ slipper.lube_flags |= FLYING_DOESNT_HELP|SLIP_WHEN_CRAWLING slipper.Slip(src, hit_atom) slipper.lube_flags &= ~(FLYING_DOESNT_HELP|SLIP_WHEN_CRAWLING) - if(thrownby && !caught) - throw_at(thrownby, throw_range+2, throw_speed, null, 1) + var/mob/thrown_by = thrownby?.resolve() + if(thrown_by && !caught) + throw_at(thrown_by, throw_range+2, throw_speed, null, 1) else return ..() diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 9a49c05739..72b3b53989 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -154,9 +154,9 @@ if(cult_mind.current.onCentCom() || cult_mind.current.onSyndieBase()) acolytes_survived++ if(acolytes_survived>=acolytes_needed) - return 0 + return FALSE else - return 1 + return TRUE /datum/game_mode/cult/generate_report() diff --git a/code/game/gamemodes/devil/devil agent/devil_agent.dm b/code/game/gamemodes/devil/devil agent/devil_agent.dm index ccfd6f1dd5..d491594d40 100644 --- a/code/game/gamemodes/devil/devil agent/devil_agent.dm +++ b/code/game/gamemodes/devil/devil agent/devil_agent.dm @@ -41,8 +41,8 @@ outsellobjective.target = target_mind outsellobjective.update_explanation_text() D.objectives += outsellobjective - return 1 - return 0 + return TRUE + return FALSE /datum/game_mode/devil/devil_agents/generate_report() return "Multiple soul merchants have been spotted in the quadrant, and appear to be competing over who can purchase the most souls. Be advised that they are likely to manufacture \ diff --git a/code/game/gamemodes/devil/devil_game_mode.dm b/code/game/gamemodes/devil/devil_game_mode.dm index 7fe2f91714..64de9f2097 100644 --- a/code/game/gamemodes/devil/devil_game_mode.dm +++ b/code/game/gamemodes/devil/devil_game_mode.dm @@ -47,15 +47,15 @@ if(devils.len < required_enemies) setup_error = "Not enough devil candidates" - return 0 - return 1 + return FALSE + return TRUE /datum/game_mode/devil/post_setup() for(var/datum/mind/devil in devils) post_setup_finalize(devil) ..() - return 1 + return TRUE /datum/game_mode/devil/generate_report() return "Infernal creatures have been seen nearby offering great boons in exchange for souls. This is considered theft against Nanotrasen, as all employment contracts contain a lien on the \ diff --git a/code/game/gamemodes/dynamic/dynamic.dm b/code/game/gamemodes/dynamic/dynamic.dm index df698a4f5e..450950e640 100644 --- a/code/game/gamemodes/dynamic/dynamic.dm +++ b/code/game/gamemodes/dynamic/dynamic.dm @@ -546,7 +546,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) return ruleset.cost + added_threat else stack_trace("The starting rule \"[ruleset.name]\" failed to pre_execute.") - return 0 + return FALSE /// Mainly here to facilitate delayed rulesets. All roundstart rulesets are executed with a timered callback to this proc. /datum/game_mode/dynamic/proc/execute_roundstart_rule(sent_rule) diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets.dm b/code/game/gamemodes/dynamic/dynamic_rulesets.dm index b742f6f36c..88c1dfc747 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets.dm @@ -115,7 +115,7 @@ /// Returns how much threat to actually spend in the end. /datum/dynamic_ruleset/proc/scale_up(population, max_scale) if (!scaling_cost) - return 0 + return FALSE var/antag_fraction = 0 for(var/_ruleset in (mode.executed_rules + list(src))) // we care about the antags we *will* assign, too diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index ccc73486b5..15e0e859f3 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -15,6 +15,7 @@ var/restrict_ghost_roles = TRUE /// What mob type the ruleset is restricted to. var/required_type = /mob/living/carbon/human + var/should_use_midround_pref = TRUE var/list/living_players = list() var/list/living_antags = list() var/list/dead_players = list() @@ -23,6 +24,7 @@ /datum/dynamic_ruleset/midround/from_ghosts weight = 0 required_type = /mob/dead/observer + should_use_midround_pref = FALSE /// Whether the ruleset should call generate_ruleset_body or not. var/makeBody = TRUE /// The rule needs this many applicants to be properly executed. @@ -43,6 +45,9 @@ if (!M.client) // Are they connected? trimmed_list.Remove(M) continue + if(should_use_midround_pref && !(M.client.prefs.toggles & MIDROUND_ANTAG)) + trimmed_list.Remove(M) + continue if(!mode.check_age(M.client, minimum_required_age)) trimmed_list.Remove(M) continue @@ -106,10 +111,10 @@ return message_admins("Polling [possible_volunteers.len] players to apply for the [name] ruleset.") log_game("DYNAMIC: Polling [possible_volunteers.len] players to apply for the [name] ruleset.") + var/flag = antag_flag_override ? antag_flag_override : antag_flag + candidates = pollGhostCandidates("The mode is looking for volunteers to become [antag_flag] for [name]", flag, be_special_flag = flag, ignore_category = antag_flag, poll_time = 300) - candidates = pollGhostCandidates("The mode is looking for volunteers to become [antag_flag] for [name]", antag_flag, be_special_flag = antag_flag_override ? antag_flag_override : antag_flag, poll_time = 300) - - if(!candidates || candidates.len <= 0) + if(!length(candidates)) mode.dynamic_log("The ruleset [name] received no applications.") mode.executed_rules -= src attempt_replacement() @@ -164,19 +169,10 @@ /datum/dynamic_ruleset/midround/from_ghosts/proc/setup_role(datum/antagonist/new_role) return -/// Fired when there are no valid candidates. Will spawn a sleeper agent or latejoin traitor. +/// Fired when there are no valid candidates. Will try to roll again in a minute. /datum/dynamic_ruleset/midround/from_ghosts/proc/attempt_replacement() - var/datum/dynamic_ruleset/midround/autotraitor/sleeper_agent = new - - // Otherwise, it has a chance to fail. We don't want that, since this is already pretty unlikely. - sleeper_agent.has_failure_chance = FALSE - - mode.configure_ruleset(sleeper_agent) - - if (!mode.picking_specific_rule(sleeper_agent)) - return - - mode.picking_specific_rule(/datum/dynamic_ruleset/latejoin/infiltrator) + COOLDOWN_START(mode, midround_injection_cooldown, 1 MINUTES) + mode.forced_injection = TRUE ////////////////////////////////////////////// // // @@ -233,9 +229,8 @@ return ..() /datum/dynamic_ruleset/midround/autotraitor/execute() - var/mob/M = pick(living_players) + var/mob/M = pick_n_take(living_players) assigned += M - living_players -= M var/datum/antagonist/traitor/newTraitor = new M.mind.add_antag_datum(newTraitor) message_admins("[ADMIN_LOOKUPFLW(M)] was selected by the [name] ruleset and has been made into a midround traitor.") @@ -336,7 +331,7 @@ candidates -= player continue - if(player.mind && (player.mind.special_role || player.mind.antag_datums?.len > 0)) + if(player.mind && (player.mind.special_role || length(player.mind.antag_datums))) candidates -= player /datum/dynamic_ruleset/midround/malf/execute() @@ -355,6 +350,70 @@ M.add_ion_law(generate_ion_law()) return TRUE +////////////////////////////////////////////// +// // +// WIZARD (CREW) // +// // +////////////////////////////////////////////// + +/datum/dynamic_ruleset/midround/wizard + name = "Wizard" + antag_datum = /datum/antagonist/wizard + antag_flag = "wizard mid crew" + antag_flag_override = ROLE_WIZARD + protected_roles = list("Prisoner", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Chaplain", "Head of Personnel", "Quartermaster", "Chief Engineer", "Chief Medical Officer", "Research Director") + restricted_roles = list("AI", "Cyborg") + enemy_roles = list("Security Officer","Detective","Head of Security", "Captain") + required_enemies = list(0,0,0,0,0,0,0,0,0,0) + weight = 0 + cost = 20 + requirements = list(101,101,100,60,40,20,20,20,10,10) + repeatable = TRUE + var/datum/mind/wizard + +/datum/dynamic_ruleset/midround/wizard/trim_candidates() + ..() + candidates = living_players + for(var/mob/living/player as anything in candidates) + var/turf/player_turf = get_turf(player) + if(!player_turf || !is_station_level(player_turf.z)) + candidates -= player + continue + + if(player.mind && (player.mind.special_role || length(player.mind.antag_datums) > 0)) + candidates -= player + candidates = pollCandidates("Do you want to be a wizard?", antag_flag_override, be_special_flag = antag_flag_override, ignore_category = antag_flag_override, poll_time = 300) + +/datum/dynamic_ruleset/midround/wizard/ready(forced = FALSE) + if(GLOB.wizardstart.len == 0) + log_admin("Cannot accept Wizard ruleset. Couldn't find any wizard spawn points.") + message_admins("Cannot accept Wizard ruleset. Couldn't find any wizard spawn points.") + return FALSE + return ..() + +/datum/dynamic_ruleset/midround/wizard/execute() + var/mob/M = pick_n_take(living_players) + assigned += M + var/datum/antagonist/wizard/on_station/wiz = new + M.mind.add_antag_datum(wiz) + wizard = M.mind + message_admins("[ADMIN_LOOKUPFLW(M)] was selected by the [name] ruleset and has been made into a midround wizard.") + log_game("DYNAMIC: [key_name(M)] was selected by the [name] ruleset and has been made into a midround wizard.") + return TRUE + +/datum/dynamic_ruleset/midround/wizard/rule_process() + if(isliving(wizard.current) && wizard.current.stat!=DEAD) + return FALSE + for(var/obj/item/phylactery/P in GLOB.poi_list) //TODO : IsProperlyDead() + if(P.mind && P.mind.has_antag_datum(/datum/antagonist/wizard)) + return FALSE + + if(SSevents.wizardmode) //If summon events was active, turn it off + SSevents.toggleWizardmode() + SSevents.resetFrequency() + + return RULESET_STOP_PROCESSING + ////////////////////////////////////////////// // // // WIZARD (GHOST) // @@ -459,7 +518,7 @@ antag_flag = "clock mid" antag_flag_override = ROLE_SERVANT_OF_RATVAR protected_roles = list("AI", "Cyborg", "Prisoner", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Chaplain", "Head of Personnel", "Quartermaster", "Chief Engineer", "Chief Medical Officer", "Research Director") - restricted_roles = list("AI", "Cyborg", "Prisoner", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Chaplain", "Head of Personnel", "Quartermaster", "Chief Engineer", "Chief Medical Officer", "Research Director") + restricted_roles = list("AI", "Cyborg") enemy_roles = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Chaplain", "Head of Personnel", "Quartermaster", "Chief Engineer", "Chief Medical Officer", "Research Director") required_enemies = list(1,1,1,1,1,1,0,0,0,0) required_candidates = 2 @@ -536,6 +595,7 @@ name = "Blob Infection" antag_datum = /datum/antagonist/blob antag_flag = "blob mid" + antag_flag_override = ROLE_BLOB protected_roles = list("Prisoner", "Security Officer", "Warden", "Detective", "Head of Security", "Captain") restricted_roles = list("Cyborg", "AI", "Positronic Brain") enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain") @@ -559,11 +619,11 @@ candidates -= player /datum/dynamic_ruleset/midround/blob_infection/execute() - if(!candidates || !candidates.len) + if(!length(candidates)) return FALSE var/mob/living/carbon/human/blob_antag = pick_n_take(candidates) assigned += blob_antag.mind - blob_antag.mind.special_role = antag_flag + blob_antag.mind.special_role = antag_flag_override return ..() ////////////////////////////////////////////// diff --git a/code/game/gamemodes/extended/extended.dm b/code/game/gamemodes/extended/extended.dm index bfc75a9dc1..1692e9fef6 100644 --- a/code/game/gamemodes/extended/extended.dm +++ b/code/game/gamemodes/extended/extended.dm @@ -9,7 +9,7 @@ announce_text = "Just have fun and enjoy the game!" /datum/game_mode/extended/pre_setup() - return 1 + return TRUE /datum/game_mode/extended/generate_report() return "The transmission mostly failed to mention your sector. It is possible that there is nothing in the Syndicate that could threaten your station during this shift." diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index b328181974..85689b9761 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -68,22 +68,22 @@ playerC++ if(!GLOB.Debug2) if(playerC < required_players || (maximum_players >= 0 && playerC > maximum_players)) - return 0 + return FALSE antag_candidates = get_players_for_role(antag_flag) if(!GLOB.Debug2) if(antag_candidates.len < required_enemies) - return 0 - return 1 + return FALSE + return TRUE else message_admins("DEBUG: GAME STARTING WITHOUT PLAYER NUMBER CHECKS, THIS WILL PROBABLY BREAK SHIT.") - return 1 + return TRUE ///Attempts to select players for special roles the mode might have. /datum/game_mode/proc/pre_setup() - return 1 + return TRUE ///Everyone should now be on the station and have their normal gear. This is the place to give the special roles extra things /datum/game_mode/proc/post_setup(report) //Gamemodes can override the intercept report. Passing TRUE as the argument will force a report. @@ -162,10 +162,10 @@ switch(SSshuttle.emergency.mode) //Rounds on the verge of ending don't get new antags, they just run out if(SHUTTLE_STRANDED, SHUTTLE_ESCAPE) - return 1 + return TRUE if(SHUTTLE_CALL) if(SSshuttle.emergency.timeLeft(1) < initial(SSshuttle.emergencyCallTime)*0.5) - return 1 + return TRUE var/matc = CONFIG_GET(number/midround_antag_time_check) if(world.time >= (matc * 600)) @@ -202,7 +202,7 @@ //somewhere between 1 and 3 minutes from now if(!CONFIG_GET(keyed_list/midround_antag)[SSticker.mode.config_tag]) round_converted = 0 - return 1 + return TRUE for(var/mob/living/carbon/human/H in antag_candidates) if(H.client) replacementmode.make_antag_chance(H) @@ -213,7 +213,7 @@ ///Called by the gameSSticker /datum/game_mode/process() - return 0 + return FALSE //For things that do not die easily /datum/game_mode/proc/are_special_antags_dead() @@ -237,44 +237,44 @@ if(Player.mind) if(Player.mind.special_role || LAZYLEN(Player.mind.antag_datums)) continuous_sanity_checked = 1 - return 0 + return FALSE if(!continuous_sanity_checked) message_admins("The roundtype ([config_tag]) has no antagonists, continuous round has been defaulted to on and midround_antag has been defaulted to off.") continuous[config_tag] = TRUE midround_antag[config_tag] = FALSE SSshuttle.clearHostileEnvironment(src) - return 0 + return FALSE 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) && (living_antag_player.mind.special_role || LAZYLEN(living_antag_player.mind.antag_datums))) - 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. + return FALSE //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.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 - return 0 + return FALSE if(!are_special_antags_dead()) return FALSE if(!continuous[config_tag] || force_ending) - return 1 + return TRUE else round_converted = convert_roundtype() if(!round_converted) if(round_ends_with_antag_death) - return 1 + return TRUE else midround_antag[config_tag] = 0 - return 0 + return FALSE - return 0 + return FALSE /datum/game_mode/proc/check_win() //universal trigger to be called at mob death, nuke explosion, etc. To be called from everywhere. - return 0 + return FALSE /datum/game_mode/proc/send_intercept() if(flipseclevel && !(config_tag == "extended"))//CIT CHANGE - lets the security level be flipped roundstart @@ -533,30 +533,24 @@ //If the configuration option is set to require players to be logged as old enough to play certain jobs, then this proc checks that they are, otherwise it just returns 1 /datum/game_mode/proc/age_check(client/C) if(get_remaining_days(C) == 0) - return 1 //Available in 0 days = available right now = player is old enough to play. - return 0 + return TRUE //Available in 0 days = available right now = player is old enough to play. + return FALSE /datum/game_mode/proc/get_remaining_days(client/C) if(!C) - return 0 + return FALSE if(C.prefs?.db_flags & DB_FLAG_EXEMPT) - return 0 + return FALSE if(!CONFIG_GET(flag/use_age_restriction_for_jobs)) - return 0 + return FALSE if(!isnum(C.player_age)) - return 0 //This is only a number if the db connection is established, otherwise it is text: "Requires database", meaning these restrictions cannot be enforced + return FALSE //This is only a number if the db connection is established, otherwise it is text: "Requires database", meaning these restrictions cannot be enforced if(!isnum(enemy_minimum_age)) - return 0 + return FALSE return max(0, enemy_minimum_age - C.player_age) -/datum/game_mode/proc/remove_antag_for_borging(datum/mind/newborgie) - SSticker.mode.remove_cultist(newborgie, 0, 0) - var/datum/antagonist/rev/rev = newborgie.has_antag_datum(/datum/antagonist/rev) - if(rev) - rev.remove_revolutionary(TRUE) - /datum/game_mode/proc/generate_station_goals() if(flipseclevel && !(config_tag == "extended")) //CIT CHANGE - allows the sec level to be flipped roundstart for(var/T in subtypesof(/datum/station_goal)) diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index bf45fe7efe..f0dadc8350 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -639,11 +639,11 @@ GLOBAL_LIST_EMPTY(possible_items) if(istype(I, steal_target)) if(!targetinfo) //If there's no targetinfo, then that means it was a custom objective. At this point, we know you have the item, so return 1. return TRUE - else if(targetinfo.check_special_completion(I))//Returns 1 by default. Items with special checks will return 1 if the conditions are fulfilled. + else if(targetinfo.check_special_completion(I))//Returns 1 by default. Items with special checks will return TRUE if the conditions are fulfilled. return TRUE if(targetinfo && (I.type in targetinfo.altitems)) //Ok, so you don't have the item. Do you have an alternative, at least? - if(targetinfo.check_special_completion(I))//Yeah, we do! Don't return 0 if we don't though - then you could fail if you had 1 item that didn't pass and got checked first! + if(targetinfo.check_special_completion(I))//Yeah, we do! Don't return FALSE if we don't though - then you could fail if you had 1 item that didn't pass and got checked first! return TRUE return FALSE diff --git a/code/game/gamemodes/objective_items.dm b/code/game/gamemodes/objective_items.dm index 78644281b8..2a64f69038 100644 --- a/code/game/gamemodes/objective_items.dm +++ b/code/game/gamemodes/objective_items.dm @@ -9,7 +9,7 @@ var/list/special_equipment = list() /datum/objective_item/proc/check_special_completion() //for objectives with special checks (is that slime extract unused? does that intellicard have an ai in it? etcetc) - return 1 + return TRUE /datum/objective_item/proc/TargetExists() return TRUE @@ -142,8 +142,8 @@ /datum/objective_item/steal/functionalai/check_special_completion(obj/item/aicard/C) for(var/mob/living/silicon/ai/A in C) if(isAI(A) && A.stat != DEAD) //See if any AI's are alive inside that card. - return 1 - return 0 + return TRUE + return FALSE /datum/objective_item/steal/blueprints name = "the station blueprints." @@ -169,8 +169,8 @@ /datum/objective_item/steal/slime/check_special_completion(obj/item/slime_extract/E) if(E.Uses > 0) - return 1 - return 0 + return TRUE + return FALSE //Unique Objectives /datum/objective_item/unique/docs_red diff --git a/code/game/gamemodes/objective_sabotage.dm b/code/game/gamemodes/objective_sabotage.dm index 96772fd263..74cc485d78 100644 --- a/code/game/gamemodes/objective_sabotage.dm +++ b/code/game/gamemodes/objective_sabotage.dm @@ -23,7 +23,7 @@ START_PROCESSING(SSprocessing, src) /datum/sabotage_objective/processing/proc/check_condition_processing() - return 1 + return TRUE /datum/sabotage_objective/processing/process() check_condition_processing() @@ -36,7 +36,7 @@ /datum/sabotage_objective/ai_law name = "Upload a hacked law to the AI." sabotage_type = "ailaw" - special_equipment = list(/obj/item/aiModule/syndicate) + special_equipment = list(/obj/item/ai_module/syndicate) excludefromjob = list("Chief Engineer","Research Director","Head of Personnel","Captain","Chief Medical Officer","Head Of Security") /datum/sabotage_objective/ai_law/can_run() diff --git a/code/game/gamemodes/overthrow/objective.dm b/code/game/gamemodes/overthrow/objective.dm index 75b7f9f3b8..098fcce31a 100644 --- a/code/game/gamemodes/overthrow/objective.dm +++ b/code/game/gamemodes/overthrow/objective.dm @@ -34,7 +34,7 @@ return get_points() ? TRUE : FALSE /datum/objective/overthrow/proc/get_points() - return 0 // int, not bool + return FALSE // int, not bool /datum/objective/overthrow/proc/result_points(datum/mind/the_dude, base_points) // App var/initial_points = base_points diff --git a/code/game/gamemodes/sandbox/sandbox.dm b/code/game/gamemodes/sandbox/sandbox.dm index 9c38bd83e8..667bf3808a 100644 --- a/code/game/gamemodes/sandbox/sandbox.dm +++ b/code/game/gamemodes/sandbox/sandbox.dm @@ -11,7 +11,7 @@ /datum/game_mode/sandbox/pre_setup() for(var/mob/M in GLOB.player_list) M.CanBuild() - return 1 + return TRUE /datum/game_mode/sandbox/post_setup() ..() diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index b993fb9c8e..d01889f9fc 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -509,8 +509,8 @@ Class Procs: I.play_tool_sound(src, 50) setDir(turn(dir,-90)) to_chat(user, "You rotate [src].") - return 1 - return 0 + return TRUE + return FALSE /obj/proc/can_be_unfasten_wrench(mob/user, silent) //if we can unwrench this object; returns SUCCESSFUL_UNFASTEN and FAILED_UNFASTEN, which are both TRUE, or CANT_UNFASTEN, which isn't. if(!(isfloorturf(loc) || istype(loc, /turf/open/indestructible)) && !anchored) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index bad19592fa..24cf87a252 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -210,7 +210,7 @@ if(materials.materials[i] > 0) list_to_show += i - used_material = tgui_input_list(usr, "Choose [used_material]", "Custom Material", sortList(list_to_show, GLOBAL_PROC_REF(cmp_typepaths_asc))) + used_material = tgui_input_list(usr, "Choose [used_material]", "Custom Material", sort_list(list_to_show, GLOBAL_PROC_REF(cmp_typepaths_asc))) if(isnull(used_material)) return //Didn't pick any material, so you can't build shit either. custom_materials[used_material] += amount_needed diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index bd2faefbd7..b6ab1af366 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -274,7 +274,7 @@ /obj/machinery/camera/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) if(damage_flag == MELEE && damage_amount < 12 && !(stat & BROKEN)) - return 0 + return FALSE . = ..() /obj/machinery/camera/obj_break(damage_flag) @@ -417,4 +417,4 @@ else user.sight = 0 user.see_in_dark = 2 - return 1 + return TRUE diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm index bf1b84fe5d..157ccfe01f 100644 --- a/code/game/machinery/camera/tracking.dm +++ b/code/game/machinery/camera/tracking.dm @@ -53,7 +53,7 @@ else track.others[name] = L - var/list/targets = sortList(track.humans) + sortList(track.others) + var/list/targets = sort_list(track.humans) + sort_list(track.others) return targets diff --git a/code/game/machinery/computer/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm index 7eb6c79eef..c8add9e690 100644 --- a/code/game/machinery/computer/atmos_control.dm +++ b/code/game/machinery/computer/atmos_control.dm @@ -251,7 +251,7 @@ GLOBAL_LIST_EMPTY(atmos_air_controllers) IO |= text[1] if(!IO.len) to_chat(user, "No machinery detected.") - var/S = input("Select the device set: ", "Selection", IO[1]) as anything in sortList(IO) + var/S = input("Select the device set: ", "Selection", IO[1]) as anything in sort_list(IO) if(src) src.input_tag = "[S]_in" src.output_tag = "[S]_out" diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index 30463f4f01..95c4a089f3 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -179,7 +179,7 @@ user.see_invisible = SEE_INVISIBLE_LIVING //can't see ghosts through cameras user.sight = SEE_TURFS | SEE_BLACKNESS user.see_in_dark = 2 - return 1 + return TRUE /mob/camera/aiEye/remote/Destroy() if(origin && eye_user) diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index a16e70155f..659bbd651b 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -505,10 +505,10 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) var/datum/job/j = SSjob.GetJob(edit_job_target) if(!j) updateUsrDialog() - return 0 + return FALSE if(can_open_job(j) != 1) updateUsrDialog() - return 0 + return FALSE if(opened_positions[edit_job_target] >= 0) GLOB.time_last_changed_position = world.time / 10 j.total_positions++ @@ -522,10 +522,10 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) var/datum/job/j = SSjob.GetJob(edit_job_target) if(!j) updateUsrDialog() - return 0 + return FALSE if(can_close_job(j) != 1) updateUsrDialog() - return 0 + return FALSE //Allow instant closing without cooldown if a position has been opened before if(opened_positions[edit_job_target] <= 0) GLOB.time_last_changed_position = world.time / 10 @@ -540,7 +540,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) var/datum/job/j = SSjob.GetJob(priority_target) if(!j) updateUsrDialog() - return 0 + return FALSE var/priority = TRUE if(j in SSjob.prioritized_jobs) SSjob.prioritized_jobs -= j diff --git a/code/game/machinery/computer/law.dm b/code/game/machinery/computer/law.dm index fc7bec7134..397446b0a7 100644 --- a/code/game/machinery/computer/law.dm +++ b/code/game/machinery/computer/law.dm @@ -5,8 +5,8 @@ icon_screen = "command" /obj/machinery/computer/upload/attackby(obj/item/O, mob/user, params) - if(istype(O, /obj/item/aiModule)) - var/obj/item/aiModule/M = O + if(istype(O, /obj/item/ai_module)) + var/obj/item/ai_module/M = O if(src.stat & (NOPOWER|BROKEN|MAINT)) return if(!current) @@ -27,8 +27,8 @@ /obj/machinery/computer/upload/proc/can_upload_to(mob/living/silicon/S) if(S.stat == DEAD) - return 0 - return 1 + return FALSE + return TRUE /obj/machinery/computer/upload/ai name = "\improper AI upload console" @@ -45,9 +45,9 @@ /obj/machinery/computer/upload/ai/can_upload_to(mob/living/silicon/ai/A) if(!A || !isAI(A)) - return 0 + return FALSE if(A.control_disabled) - return 0 + return FALSE return ..() @@ -66,7 +66,7 @@ /obj/machinery/computer/upload/borg/can_upload_to(mob/living/silicon/robot/B) if(!B || !iscyborg(B)) - return 0 + return FALSE if(B.scrambledcodes || B.emagged) - return 0 + return FALSE return ..() diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 7f5fafcd80..e2bc508e55 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -571,8 +571,8 @@ if(user.canUseTopic(src, !hasSiliconAccessInArea(user))) if(!record1 || record1 == active1) if(!record2 || record2 == active2) - return 1 - return 0 + return TRUE + return FALSE /obj/machinery/computer/med_data/laptop name = "medical laptop" diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 45bb9bd327..4d1bea7b1a 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -805,9 +805,9 @@ What a mess.*/ if(authenticated) if(user.canUseTopic(src, !hasSiliconAccessInArea(user))) if(!trim(message1)) - return 0 + return FALSE if(!record1 || record1 == active1) if(!record2 || record2 == active2) - return 1 - return 0 + return TRUE + return FALSE diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 0b09ac8c77..809598600d 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1276,7 +1276,7 @@ return // reads from the airlock painter's `available paintjob` list. lets the player choose a paint option, or cancel painting - var/current_paintjob = tgui_input_list(user, "Paintjob for this airlock", "Customize", sortList(painter.available_paint_jobs)) + var/current_paintjob = tgui_input_list(user, "Paintjob for this airlock", "Customize", sort_list(painter.available_paint_jobs)) if(isnull(current_paintjob)) // if the user clicked cancel on the popup, return return diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index b168484a30..11167a3cd9 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -255,7 +255,7 @@ qdel(src) /obj/machinery/door/airlock/plasma/BlockThermalConductivity() //we don't stop the heat~ - return 0 + return FALSE /obj/machinery/door/airlock/plasma/attackby(obj/item/C, mob/user, params) if(C.get_temperature() > 300)//If the temperature of the object is over 300, then ignite @@ -507,11 +507,11 @@ /obj/machinery/door/airlock/cult/allowed(mob/living/L) if(!density) - return 1 + return TRUE if(friendly || iscultist(L) || isshade(L) || isconstruct(L)) if(!stealthy) new openingoverlaytype(loc) - return 1 + return TRUE else if(!stealthy) new /obj/effect/temp_visual/cult/sac(loc) @@ -521,7 +521,7 @@ flash_color(L, flash_color="#960000", flash_time=20) L.DefaultCombatKnockdown(40) L.throw_at(throwtarget, 5, 1) - return 0 + return FALSE /obj/machinery/door/airlock/cult/proc/conceal() icon = 'icons/obj/doors/airlocks/station/maintenance.dmi' @@ -619,7 +619,7 @@ return (is_servant_of_ratvar(user) && !isAllPowerCut()) /obj/machinery/door/airlock/clockwork/ratvar_act() - return 0 + return FALSE /obj/machinery/door/airlock/clockwork/narsie_act() ..() @@ -635,8 +635,8 @@ /obj/machinery/door/airlock/clockwork/allowed(mob/M) if(is_servant_of_ratvar(M)) - return 1 - return 0 + return TRUE + return FALSE /obj/machinery/door/airlock/clockwork/hasPower() return TRUE //yes we do have power @@ -657,36 +657,36 @@ /obj/machinery/door/airlock/clockwork/proc/attempt_construction(obj/item/I, mob/living/user) if(!I || !user || !user.canUseTopic(src)) - return 0 + return FALSE else if(I.tool_behaviour == TOOL_WRENCH) if(construction_state == GEAR_SECURE) user.visible_message("[user] begins loosening [src]'s cogwheel...", "You begin loosening [src]'s cogwheel...") if(!I.use_tool(src, user, 75, volume=50) || construction_state != GEAR_SECURE) - return 1 + return TRUE user.visible_message("[user] loosens [src]'s cogwheel!", "[src]'s cogwheel pops off and dangles loosely.") playsound(src, 'sound/items/deconstruct.ogg', 50, 1) construction_state = GEAR_LOOSE else if(construction_state == GEAR_LOOSE) user.visible_message("[user] begins tightening [src]'s cogwheel...", "You begin tightening [src]'s cogwheel into place...") if(!I.use_tool(src, user, 75, volume=50) || construction_state != GEAR_LOOSE) - return 1 + return TRUE user.visible_message("[user] tightens [src]'s cogwheel!", "You firmly tighten [src]'s cogwheel into place.") playsound(src, 'sound/items/deconstruct.ogg', 50, 1) construction_state = GEAR_SECURE - return 1 + return TRUE else if(I.tool_behaviour == TOOL_CROWBAR) if(construction_state == GEAR_SECURE) to_chat(user, "[src]'s cogwheel is too tightly secured! Your [I.name] can't reach under it!") - return 1 + return TRUE else if(construction_state == GEAR_LOOSE) user.visible_message("[user] begins slowly lifting off [src]'s cogwheel...", "You slowly begin lifting off [src]'s cogwheel...") if(!I.use_tool(src, user, 75, volume=50) || construction_state != GEAR_LOOSE) - return 1 + return TRUE user.visible_message("[user] lifts off [src]'s cogwheel, causing it to fall apart!", \ "You lift off [src]'s cogwheel, causing it to fall apart!") deconstruct(TRUE) - return 1 - return 0 + return TRUE + return FALSE /obj/machinery/door/airlock/clockwork/brass glass = TRUE diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index c209118537..45babec037 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -81,7 +81,7 @@ // linked door is open/closed (by density) then opens it/closes it. /obj/machinery/door_timer/proc/timer_start() if(stat & (NOPOWER|BROKEN)) - return 0 + return FALSE activation_time = REALTIMEOFDAY timing = TRUE @@ -98,12 +98,12 @@ continue C.locked = TRUE C.update_icon() - return 1 + return TRUE /obj/machinery/door_timer/proc/timer_end(forced = FALSE) if(stat & (NOPOWER|BROKEN)) - return 0 + return FALSE if(!forced) Radio.set_frequency(FREQ_SECURITY) @@ -127,7 +127,7 @@ C.locked = FALSE C.update_icon() - return 1 + return TRUE /obj/machinery/door_timer/proc/time_left(seconds = FALSE) @@ -137,7 +137,7 @@ /obj/machinery/door_timer/proc/set_timer(value) var/new_time = clamp(value,0,MAX_TIMER) - . = new_time == timer_duration //return 1 on no change + . = new_time == timer_duration //return TRUE on no change timer_duration = new_time /obj/machinery/door_timer/ui_interact(mob/user, datum/tgui/ui) diff --git a/code/game/machinery/doors/checkForMultipleDoors.dm b/code/game/machinery/doors/checkForMultipleDoors.dm index 73a9edde6f..0d985714f9 100644 --- a/code/game/machinery/doors/checkForMultipleDoors.dm +++ b/code/game/machinery/doors/checkForMultipleDoors.dm @@ -1,16 +1,16 @@ /obj/machinery/door/proc/checkForMultipleDoors() if(!src.loc) - return 0 + return FALSE for(var/obj/machinery/door/D in src.loc) if(!istype(D, /obj/machinery/door/window) && D.density && D != src) - return 0 - return 1 + return FALSE + return TRUE /turf/closed/wall/proc/checkForMultipleDoors() if(!src.loc) - return 0 + return FALSE for(var/obj/machinery/door/D in locate(src.x,src.y,src.z)) if(!istype(D, /obj/machinery/door/window) && D.density) - return 0 + return FALSE //There are no false wall checks because that would be fucking - return 1 + return TRUE diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 5b3b1c3b4a..836bc26abc 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -222,13 +222,13 @@ /obj/machinery/door/attackby(obj/item/I, mob/user, params) if(user.a_intent != INTENT_HARM && (I.tool_behaviour == TOOL_CROWBAR || istype(I, /obj/item/fireaxe))) try_to_crowbar(I, user) - return 1 + return TRUE else if(I.tool_behaviour == TOOL_WELDER) try_to_weld(I, user) - return 1 + return TRUE else if(!(I.item_flags & NOBLUDGEON) && user.a_intent != INTENT_HARM) try_to_activate_door(user) - return 1 + return TRUE return ..() /obj/machinery/door/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) @@ -284,7 +284,7 @@ /obj/machinery/door/proc/open() if(!density) - return 1 + return TRUE if(operating) return operating = TRUE @@ -302,7 +302,7 @@ if(autoclose) spawn(autoclose) close() - return 1 + return TRUE /obj/machinery/door/proc/close() if(density) @@ -335,7 +335,7 @@ CheckForMobs() else if(!(flags_1 & ON_BORDER_1)) crush() - return 1 + return TRUE /obj/machinery/door/proc/CheckForMobs() if(locate(/mob/living) in get_turf(src)) @@ -380,7 +380,7 @@ addtimer(CALLBACK(src, PROC_REF(autoclose)), wait, TIMER_UNIQUE | TIMER_NO_HASH_WAIT | TIMER_OVERRIDE) /obj/machinery/door/proc/requiresID() - return 1 + return TRUE /obj/machinery/door/proc/hasPower() return !(stat & NOPOWER) @@ -391,8 +391,8 @@ /obj/machinery/door/BlockThermalConductivity() // All non-glass airlocks block heat, this is intended. if(opacity || heat_proof) - return 1 - return 0 + return TRUE + return FALSE /obj/machinery/door/morgue icon = 'icons/obj/doors/doormorgue.dmi' diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 7b0ff1d319..948878c9d0 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -128,7 +128,7 @@ /obj/machinery/door/firedoor/power_change() if(powered(power_channel)) stat &= ~NOPOWER - latetoggle() + INVOKE_ASYNC(src, .proc/latetoggle) else stat |= NOPOWER @@ -393,7 +393,7 @@ for(var/T2 in T.atmos_adjacent_turfs) turfs[T2] = 1 if(turfs.len <= 10) - return 0 // not big enough to matter + return FALSE // not big enough to matter return start_point.air.return_pressure() < 20 ? -1 : 1 /obj/machinery/door/firedoor/border_only/CanAllowThrough(atom/movable/mover, turf/target) diff --git a/code/game/machinery/doors/passworddoor.dm b/code/game/machinery/doors/passworddoor.dm index 64afc07ae3..a58d84b164 100644 --- a/code/game/machinery/doors/passworddoor.dm +++ b/code/game/machinery/doors/passworddoor.dm @@ -73,4 +73,4 @@ return /obj/machinery/door/password/wave_ex_act(power, datum/wave_explosion/explosion, dir) - return 0 //no. + return FALSE //no. diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index ba96cb5bf6..b606c8e259 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -64,7 +64,7 @@ /obj/machinery/door/poddoor/Bumped(atom/movable/AM) if(density) - return 0 + return FALSE else return ..() diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 70dbd6712a..6e871617c8 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -129,7 +129,7 @@ if(get_dir(loc, T) == dir) return !density else - return 1 + return TRUE //used in the AStar algorithm to determinate if the turf the door is on is passable /obj/machinery/door/window/CanAStarPass(obj/item/card/id/ID, to_dir) @@ -144,13 +144,13 @@ /obj/machinery/door/window/open(forced=0) if (src.operating == 1) //doors can still open when emag-disabled - return 0 + return FALSE if(!forced) if(!hasPower()) - return 0 + return FALSE if(forced < 2) if(obj_flags & EMAGGED) - return 0 + return FALSE if(!src.operating) //in case of emag operating = TRUE do_animate("opening") @@ -171,13 +171,13 @@ /obj/machinery/door/window/close(forced=0) if (src.operating) - return 0 + return FALSE if(!forced) if(!hasPower()) - return 0 + return FALSE if(forced < 2) if(obj_flags & EMAGGED) - return 0 + return FALSE operating = TRUE do_animate("closing") playsound(src.loc, 'sound/machines/windowdoor.ogg', 100, 1) @@ -423,8 +423,8 @@ /obj/machinery/door/window/clockwork/allowed(mob/M) if(is_servant_of_ratvar(M)) - return 1 - return 0 + return TRUE + return FALSE /obj/machinery/door/window/northleft dir = NORTH diff --git a/code/game/machinery/embedded_controller/access_controller.dm b/code/game/machinery/embedded_controller/access_controller.dm index 3beb481e00..badec7ef38 100644 --- a/code/game/machinery/embedded_controller/access_controller.dm +++ b/code/game/machinery/embedded_controller/access_controller.dm @@ -164,7 +164,7 @@ set waitfor = FALSE if(A.density) goIdle() - return 0 + return FALSE update_icon() A.unbolt() . = 1 diff --git a/code/game/machinery/embedded_controller/airlock_controller.dm b/code/game/machinery/embedded_controller/airlock_controller.dm index 125c6692f3..bb601ccac4 100644 --- a/code/game/machinery/embedded_controller/airlock_controller.dm +++ b/code/game/machinery/embedded_controller/airlock_controller.dm @@ -190,7 +190,7 @@ memory["processing"] = state != target_state //sensor_pressure = null //not sure if we can comment this out. Uncomment in case of problems -rastaf0 - return 1 + return TRUE /obj/machinery/embedded_controller/radio/airlock_controller diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm index 3872d22362..540b29df5b 100644 --- a/code/game/machinery/embedded_controller/embedded_controller_base.dm +++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm @@ -19,7 +19,7 @@ return null /datum/computer/file/embedded_program/process() - return 0 + return FALSE /obj/machinery/embedded_controller var/datum/computer/file/embedded_program/program @@ -44,7 +44,7 @@ /obj/machinery/embedded_controller/proc/return_text() /obj/machinery/embedded_controller/proc/post_signal(datum/signal/signal, comm_line) - return 0 + return FALSE /obj/machinery/embedded_controller/receive_signal(datum/signal/signal) if(istype(signal) && program) @@ -52,7 +52,7 @@ /obj/machinery/embedded_controller/Topic(href, href_list) if(..()) - return 0 + return FALSE if(program) program.receive_user_command(href_list["command"]) diff --git a/code/game/machinery/embedded_controller/simple_vent_controller.dm b/code/game/machinery/embedded_controller/simple_vent_controller.dm index 6416de70f1..76e802f787 100644 --- a/code/game/machinery/embedded_controller/simple_vent_controller.dm +++ b/code/game/machinery/embedded_controller/simple_vent_controller.dm @@ -28,7 +28,7 @@ ))) /datum/computer/file/embedded_program/simple_vent_controller/process() - return 0 + return FALSE /obj/machinery/embedded_controller/radio/simple_vent_controller diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 9b16f4ad0c..b67a9817aa 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -94,7 +94,7 @@ /obj/machinery/flasher/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) if(damage_flag == MELEE && damage_amount < 10) //any melee attack below 10 dmg does nothing - return 0 + return FALSE . = ..() /obj/machinery/flasher/proc/flash() @@ -126,7 +126,7 @@ if(flashed) bulb.times_used++ - return 1 + return TRUE /obj/machinery/flasher/emp_act(severity) diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 2f70bfcecb..b7e5f49620 100644 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -38,7 +38,7 @@ var/turf/location = src.loc if (isturf(location)) location.hotspot_expose(700,10,1) - return 1 + return TRUE /obj/machinery/igniter/Initialize(mapload) . = ..() @@ -127,7 +127,7 @@ var/turf/location = src.loc if (isturf(location)) location.hotspot_expose(1000,100,1) - return 1 + return TRUE /obj/machinery/sparker/emp_act(severity) . = ..() diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index c144616c05..fe242c4559 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -33,11 +33,11 @@ /obj/machinery/pipedispenser/Topic(href, href_list) if(..()) - return 1 + return TRUE var/mob/living/L = usr if(!anchored || !istype(L) || !CHECK_MOBILITY(L, MOBILITY_USE)) usr << browse(null, "window=pipedispenser") - return 1 + return TRUE usr.set_machine(src) add_fingerprint(usr) if(href_list["makepipe"]) @@ -130,7 +130,7 @@ /obj/machinery/pipedispenser/disposal/Topic(href, href_list) if(..()) - return 1 + return TRUE usr.set_machine(src) add_fingerprint(usr) if(href_list["dmake"]) @@ -181,7 +181,7 @@ /obj/machinery/pipedispenser/disposal/transit_tube/Topic(href, href_list) if(..()) - return 1 + return TRUE usr.set_machine(src) add_fingerprint(usr) if(wait < world.time) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 91a378f616..2d9cc2a072 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -513,7 +513,7 @@ DEFINE_BITFIELD(turret_flags, list( var/atom/movable/M = pick(targets) targets -= M if(target(M)) - return 1 + return TRUE /obj/machinery/porta_turret/proc/popUp() //pops the turret up set waitfor = FALSE @@ -566,8 +566,8 @@ DEFINE_BITFIELD(turret_flags, list( if(turret_flags & TURRET_FLAG_AUTH_WEAPONS) //check for weapon authorization if(isnull(perp.wear_id) || istype(perp.wear_id.GetID(), /obj/item/card/id/syndicate)) - if(allowed(perp)) //if the perp has security access, return 0 - return 0 + if(allowed(perp)) //if the perp has security access, return FALSE + return FALSE if(perp.is_holding_item_of_type(/obj/item/gun) || perp.is_holding_item_of_type(/obj/item/melee/baton)) threatcount += 4 @@ -585,7 +585,7 @@ DEFINE_BITFIELD(turret_flags, list( // If we aren't shooting heads then return a threatcount of 0 if (!(turret_flags & TURRET_FLAG_SHOOT_HEADS) && (perp.get_assignment() in GLOB.command_positions)) - return 0 + return FALSE return threatcount @@ -600,7 +600,7 @@ DEFINE_BITFIELD(turret_flags, list( popUp() //pop the turret up if it's not already up. setDir(get_dir(base, target))//even if you can't shoot, follow the target INVOKE_ASYNC(src, .proc/shootAt, target) - return 1 + return TRUE return /obj/machinery/porta_turret/proc/shootAt(atom/movable/target, stagger_enabled = FALSE) @@ -840,7 +840,7 @@ DEFINE_BITFIELD(turret_flags, list( faction = list("neutral","silicon","turret") //Minebots, medibots, etc that should not be shot. /obj/machinery/porta_turret/aux_base/assess_perp(mob/living/carbon/human/perp) - return 0 //Never shoot humanoids. You are on your own if Ashwalkers or the like attack! + return FALSE //Never shoot humanoids. You are on your own if Ashwalkers or the like attack! /obj/machinery/porta_turret/aux_base/setup() return @@ -874,7 +874,7 @@ DEFINE_BITFIELD(turret_flags, list( AddElement(/datum/element/empprotection, EMP_PROTECT_SELF | EMP_PROTECT_WIRES) /obj/machinery/porta_turret/centcom_shuttle/assess_perp(mob/living/carbon/human/perp) - return 0 + return FALSE /obj/machinery/porta_turret/centcom_shuttle/setup() return diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index d58edbd025..dc506ee9b2 100755 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -80,27 +80,27 @@ if(allowed) if(anchored) if(charging || panel_open) - return 1 + return TRUE //Checks to make sure he's not in space doing it, and that the area got proper power. var/area/a = get_area(src) if(!a || !a.powered(EQUIP)) to_chat(user, "[src] blinks red as you try to insert [G].") - return 1 + return TRUE if (istype(G, /obj/item/gun/energy)) var/obj/item/gun/energy/E = G if(!E.can_charge) to_chat(user, "Your gun has no external power connector.") - return 1 + return TRUE if(!user.transferItemToLoc(G, src)) - return 1 + return TRUE setCharging(G) else to_chat(user, "[src] isn't connected to anything!") - return 1 + return TRUE if(anchored && !charging) if(default_deconstruction_screwdriver(user, "recharger", "recharger", G)) diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 1bd795e4f1..41d00f23e6 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -63,7 +63,7 @@ if(occupant) process_occupant() - return 1 + return TRUE /obj/machinery/recharge_station/relaymove(mob/user) if(user.stat) diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index e96b73f88b..64b89b4980 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -372,7 +372,7 @@ s.set_up(5, 1, src) s.start() if(electrocute_mob(user, src, src, 1, TRUE)) - return 1 + return TRUE /obj/machinery/suit_storage_unit/relaymove(mob/user) if(locked) diff --git a/code/game/machinery/telecomms/computers/logbrowser.dm b/code/game/machinery/telecomms/computers/logbrowser.dm index c39c4667a6..e40b3d00be 100644 --- a/code/game/machinery/telecomms/computers/logbrowser.dm +++ b/code/game/machinery/telecomms/computers/logbrowser.dm @@ -36,7 +36,7 @@ ref = REF(T) ) data_out["servers"] += list(data) - data_out["servers"] = sortList(data_out["servers"]) //a-z sort + data_out["servers"] = sort_list(data_out["servers"]) //a-z sort if(!SelectedMachine) //null is bad. data_out["selected"] = null //but in js, null is good. diff --git a/code/game/machinery/telecomms/computers/message.dm b/code/game/machinery/telecomms/computers/message.dm index 00b345e6c1..01b2716fd6 100644 --- a/code/game/machinery/telecomms/computers/message.dm +++ b/code/game/machinery/telecomms/computers/message.dm @@ -107,7 +107,7 @@ ref = REF(T) ) data_out["servers"] += list(data) // This /might/ cause an oom. Too bad! - data_out["servers"] = sortList(data_out["servers"]) //a-z sort + data_out["servers"] = sort_list(data_out["servers"]) //a-z sort data_out["fake_message"] = list( sender = customsender, diff --git a/code/game/machinery/telecomms/computers/telemonitor.dm b/code/game/machinery/telecomms/computers/telemonitor.dm index b711b9fa40..b181e91667 100644 --- a/code/game/machinery/telecomms/computers/telemonitor.dm +++ b/code/game/machinery/telecomms/computers/telemonitor.dm @@ -37,12 +37,12 @@ ref = REF(T) ) data_out["servers"] += list(data) - data_out["servers"] = sortList(data_out["servers"]) + data_out["servers"] = sort_list(data_out["servers"]) if(!SelectedMachine) //null is bad. data_out["selected"] = null //but in js, null is good. return data_out - + data_out["selected"] = list( name = SelectedMachine.name, id = SelectedMachine.id, @@ -90,7 +90,7 @@ if(LAZYLEN(machinelist) > 0) notice = "FAILED: Cannot probe when buffer full" return - + for(var/obj/machinery/telecomms/T in GLOB.telecomms_list) if(T.network == network) LAZYADD(machinelist, T) diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index afc4312779..e4be50e19c 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -20,16 +20,37 @@ if(buckled_mobs.len > 1) var/unbuckled = input(user, "Who do you wish to unbuckle?","Unbuckle Who?") as null|mob in buckled_mobs if(user_unbuckle_mob(unbuckled,user)) - return 1 + return TRUE else if(user_unbuckle_mob(buckled_mobs[1],user)) - return 1 + return TRUE + +/atom/movable/attackby(obj/item/attacking_item, mob/user, params) + if(!can_buckle || !istype(attacking_item, /obj/item/riding_offhand) || !user.Adjacent(src)) + return ..() + + var/obj/item/riding_offhand/riding_item = attacking_item + var/mob/living/carried_mob = riding_item.rider + if(carried_mob == user) //Piggyback user. + return + user.unbuckle_mob(carried_mob) + carried_mob.forceMove(get_turf(src)) + return mouse_buckle_handling(carried_mob, user) /atom/movable/MouseDrop_T(mob/living/M, mob/living/user) . = ..() + return mouse_buckle_handling(M, user) + +/** + * Does some typechecks and then calls user_buckle_mob + * + * Arguments: + * M - The mob being buckled to src + * user - The mob buckling M to src + */ +/atom/movable/proc/mouse_buckle_handling(mob/living/M, mob/living/user) if(can_buckle && istype(M) && istype(user)) - if(user_buckle_mob(M, user)) - return 1 + return user_buckle_mob(M, user, check_loc = FALSE) /atom/movable/proc/has_buckled_mobs() if(!buckled_mobs) diff --git a/code/game/objects/effects/alien_acid.dm b/code/game/objects/effects/alien_acid.dm index 40d950332c..1e49602766 100644 --- a/code/game/objects/effects/alien_acid.dm +++ b/code/game/objects/effects/alien_acid.dm @@ -36,7 +36,7 @@ . = 1 if(!target) qdel(src) - return 0 + return FALSE if(prob(5)) playsound(loc, 'sound/items/welder.ogg', 100, 1) @@ -51,7 +51,7 @@ acid_level = max(acid_level - (5 + 2*round(sqrt(acid_level))), 0) if(acid_level <= 0) qdel(src) - return 0 + return FALSE /obj/effect/acid/Crossed(AM as mob|obj) . = ..() diff --git a/code/game/objects/effects/countdown.dm b/code/game/objects/effects/countdown.dm index 0722f3bd18..d846ecdaec 100644 --- a/code/game/objects/effects/countdown.dm +++ b/code/game/objects/effects/countdown.dm @@ -9,6 +9,8 @@ anchored = TRUE layer = GHOST_LAYER color = "#ff0000" // text color + appearance_flags = APPEARANCE_UI_IGNORE_ALPHA + vis_flags = VIS_INHERIT_ID var/text_size = 3 // larger values clip when the displayed text is larger than 2 digits. var/started = FALSE var/displayed_text @@ -17,6 +19,10 @@ /obj/effect/countdown/Initialize(mapload) . = ..() attach(loc) + RegisterSignal(loc, COMSIG_PARENT_QDELETING, .proc/on_parent_deleting) + +/obj/effect/countdown/proc/on_parent_deleting(atom/being_deleted, force) + qdel(src) /obj/effect/countdown/examine(mob/user) . = ..() @@ -24,7 +30,12 @@ /obj/effect/countdown/proc/attach(atom/A) attached_to = A - forceMove(get_turf(A)) + if(ismovable(A)) + var/atom/movable/M = A + moveToNullspace() + M.vis_contents |= src + else + forceMove(get_turf(A)) /obj/effect/countdown/proc/start() if(!started) @@ -44,20 +55,22 @@ /obj/effect/countdown/process() if(!attached_to || QDELETED(attached_to)) qdel(src) - forceMove(get_turf(attached_to)) + if(!ismovable(attached_to)) + forceMove(get_turf(attached_to)) var/new_val = get_value() if(new_val == displayed_text) return displayed_text = new_val if(displayed_text) - maptext = "[displayed_text]" + maptext = MAPTEXT("[displayed_text]") else maptext = null /obj/effect/countdown/Destroy() - attached_to = null STOP_PROCESSING(SSfastprocess, src) + UnregisterSignal(attached_to, COMSIG_PARENT_QDELETING) + attached_to = null . = ..() /obj/effect/countdown/ex_act(severity, target, origin) //immune to explosions diff --git a/code/game/objects/effects/decals/misc.dm b/code/game/objects/effects/decals/misc.dm index 752a5dff2c..fe216c0623 100644 --- a/code/game/objects/effects/decals/misc.dm +++ b/code/game/objects/effects/decals/misc.dm @@ -1,18 +1,3 @@ -/obj/effect/temp_visual/point - name = "pointer" - icon = 'icons/mob/screen_gen.dmi' - icon_state = "arrow" - layer = POINT_LAYER - duration = 25 - -/obj/effect/temp_visual/point/Initialize(mapload, set_invis = 0) - . = ..() - var/atom/old_loc = loc - loc = get_turf(src) // We don't want to actualy trigger anything when it moves - pixel_x = old_loc.pixel_x - pixel_y = old_loc.pixel_y - invisibility = set_invis - //Used by spraybottles. /obj/effect/decal/chempuff name = "chemicals" diff --git a/code/game/objects/effects/decals/turfdecal/tilecoloring.dm b/code/game/objects/effects/decals/turfdecal/tilecoloring.dm index 7b5b4d9b4e..ff9b8bc4b8 100644 --- a/code/game/objects/effects/decals/turfdecal/tilecoloring.dm +++ b/code/game/objects/effects/decals/turfdecal/tilecoloring.dm @@ -4,6 +4,25 @@ layer = TURF_PLATING_DECAL_LAYER alpha = 110 +#define LGBT_ALPHA 60 + +/obj/effect/turf_decal/tile/Initialize() + if(SSevents.holidays) + if (SSevents.holidays[APRIL_FOOLS]) + color = "#[random_short_color()]" + else + for(var/H in SSevents.holidays) + if(istype(H,/datum/holiday/lgbt)) + var/datum/holiday/lgbt/L = H + color = L.get_floor_tile_color(src) + + // It looks garish at different alphas, and it's not possible to get a + // consistent color palette without this. + alpha = LGBT_ALPHA + return ..() + +#undef LGBT_ALPHA + /obj/effect/turf_decal/tile/blue name = "blue corner" color = "#52B4E9" diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm index 648faf588a..73675861e7 100644 --- a/code/game/objects/effects/effect_system/effects_foam.dm +++ b/code/game/objects/effects/effect_system/effects_foam.dm @@ -169,14 +169,14 @@ /obj/effect/particle_effect/foam/proc/foam_mob(mob/living/L) if(lifetime<1) - return 0 + return FALSE if(!istype(L)) - return 0 + return FALSE var/fraction = 1/initial(reagent_divisor) if(lifetime % reagent_divisor) reagents.reaction(L, VAPOR, fraction) lifetime-- - return 1 + return TRUE /obj/effect/particle_effect/foam/proc/spread_foam() var/turf/t_loc = get_turf(src) diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm index 02c1680825..3928c44601 100644 --- a/code/game/objects/effects/effect_system/effects_smoke.dm +++ b/code/game/objects/effects/effect_system/effects_smoke.dm @@ -49,23 +49,23 @@ lifetime-- if(lifetime < 1) kill_smoke() - return 0 + return FALSE for(var/mob/living/L in range(0,src)) smoke_mob(L) - return 1 + return TRUE /obj/effect/particle_effect/smoke/proc/smoke_mob(mob/living/carbon/C) if(!istype(C)) - return 0 + return FALSE if(lifetime<1) - return 0 + return FALSE if(C.internal != null || C.has_smoke_protection()) - return 0 + return FALSE if(C.smoke_delay) - return 0 + return FALSE C.smoke_delay++ addtimer(CALLBACK(src, PROC_REF(remove_smoke_delay), C), 10) - return 1 + return TRUE /obj/effect/particle_effect/smoke/proc/remove_smoke_delay(mob/living/carbon/C) if(C) @@ -131,7 +131,7 @@ M.drop_all_held_items() M.adjustOxyLoss(1) M.emote("cough") - return 1 + return TRUE /obj/effect/particle_effect/smoke/bad/Crossed(atom/movable/AM, oldloc) . = ..() @@ -210,7 +210,7 @@ if(..()) M.Sleeping(200) M.emote("cough") - return 1 + return TRUE /datum/effect_system/smoke_spread/sleeping effect_type = /obj/effect/particle_effect/smoke/sleeping @@ -235,20 +235,20 @@ reagents.reaction(AM, TOUCH, fraction) reagents.reaction(T, TOUCH, fraction) - return 1 + return TRUE /obj/effect/particle_effect/smoke/chem/smoke_mob(mob/living/carbon/M) if(lifetime<1) - return 0 + return FALSE if(!istype(M)) - return 0 + return FALSE var/mob/living/carbon/C = M if(C.internal != null || C.has_smoke_protection()) - return 0 + return FALSE var/fraction = 1/initial(lifetime) reagents.copy_to(C, fraction*reagents.total_volume) reagents.reaction(M, INGEST, fraction) - return 1 + return TRUE diff --git a/code/game/objects/effects/effect_system/effects_water.dm b/code/game/objects/effects/effect_system/effects_water.dm index 8fafda8b51..7b2878e11e 100644 --- a/code/game/objects/effects/effect_system/effects_water.dm +++ b/code/game/objects/effects/effect_system/effects_water.dm @@ -14,9 +14,9 @@ /obj/effect/particle_effect/water/Move(turf/newloc) if (--src.life < 1) qdel(src) - return 0 + return FALSE if(newloc.density) - return 0 + return FALSE .=..() /obj/effect/particle_effect/water/Bump(atom/A) diff --git a/code/game/objects/effects/effects.dm b/code/game/objects/effects/effects.dm index 5d573c5a43..ba4fce80bb 100644 --- a/code/game/objects/effects/effects.dm +++ b/code/game/objects/effects/effects.dm @@ -22,7 +22,7 @@ return /obj/effect/attack_hulk(mob/living/carbon/human/user, does_attack_animation = 0) - return 0 + return FALSE /obj/effect/experience_pressure_difference() return @@ -43,7 +43,7 @@ /obj/effect/singularity_act() qdel(src) - return 0 + return FALSE /obj/effect/ConveyorMove() return diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm index 45357960da..fff86d8302 100644 --- a/code/game/objects/effects/glowshroom.dm +++ b/code/game/objects/effects/glowshroom.dm @@ -183,7 +183,7 @@ return newDir floor = 1 - return 1 + return TRUE /** * Causes the glowshroom to decay by decreasing its endurance. diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 22a9e86bb0..5e533888f9 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -205,7 +205,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark) /obj/effect/landmark/start/ai/after_round_start() if(latejoin_active && !used) - new /obj/structure/AIcore/latejoin_inactive(loc) + new /obj/structure/ai_core/latejoin_inactive(loc) return ..() /obj/effect/landmark/start/ai/secondary diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 0f7e00a538..ba98c441f4 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -281,34 +281,34 @@ /obj/effect/spawner/lootdrop/aimodule_harmless // These shouldn't allow the AI to start butchering people name = "harmless AI module spawner" loot = list( - /obj/item/aiModule/core/full/asimov, - /obj/item/aiModule/core/full/asimovpp, - /obj/item/aiModule/core/full/hippocratic, - /obj/item/aiModule/core/full/paladin_devotion, - /obj/item/aiModule/core/full/paladin + /obj/item/ai_module/core/full/asimov, + /obj/item/ai_module/core/full/asimovpp, + /obj/item/ai_module/core/full/hippocratic, + /obj/item/ai_module/core/full/paladin_devotion, + /obj/item/ai_module/core/full/paladin ) /obj/effect/spawner/lootdrop/aimodule_neutral // These shouldn't allow the AI to start butchering people without reason name = "neutral AI module spawner" loot = list( - /obj/item/aiModule/core/full/corp, - /obj/item/aiModule/core/full/maintain, - /obj/item/aiModule/core/full/drone, - /obj/item/aiModule/core/full/peacekeeper, - /obj/item/aiModule/core/full/reporter, - /obj/item/aiModule/core/full/robocop, - /obj/item/aiModule/core/full/liveandletlive, - /obj/item/aiModule/core/full/hulkamania + /obj/item/ai_module/core/full/corp, + /obj/item/ai_module/core/full/maintain, + /obj/item/ai_module/core/full/drone, + /obj/item/ai_module/core/full/peacekeeper, + /obj/item/ai_module/core/full/reporter, + /obj/item/ai_module/core/full/robocop, + /obj/item/ai_module/core/full/liveandletlive, + /obj/item/ai_module/core/full/hulkamania ) /obj/effect/spawner/lootdrop/aimodule_harmful // These will get the shuttle called name = "harmful AI module spawner" loot = list( - /obj/item/aiModule/core/full/antimov, - /obj/item/aiModule/core/full/balance, - /obj/item/aiModule/core/full/tyrant, - /obj/item/aiModule/core/full/thermurderdynamic, - /obj/item/aiModule/core/full/damaged + /obj/item/ai_module/core/full/antimov, + /obj/item/ai_module/core/full/balance, + /obj/item/ai_module/core/full/tyrant, + /obj/item/ai_module/core/full/thermurderdynamic, + /obj/item/ai_module/core/full/damaged ) /obj/effect/spawner/lootdrop/mre diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm index 80178c95c4..914c70bec7 100644 --- a/code/game/objects/effects/step_triggers.dm +++ b/code/game/objects/effects/step_triggers.dm @@ -8,7 +8,7 @@ anchored = TRUE /obj/effect/step_trigger/proc/Trigger(atom/movable/A) - return 0 + return FALSE /obj/effect/step_trigger/Crossed(H as mob|obj) ..() diff --git a/code/game/objects/empulse.dm b/code/game/objects/empulse.dm index c467cbd4e8..c9c000d124 100644 --- a/code/game/objects/empulse.dm +++ b/code/game/objects/empulse.dm @@ -22,7 +22,7 @@ if(distance != 0) //please dont divide by 0 severity = min(max((max_distance / distance^0.3) * (100/max_distance), 1),100) //if it goes below 1 or above 100 stuff gets bad T.emp_act(severity) - return 1 + return TRUE /proc/empulse_using_range(turf/epicenter, range, log=0) //make an emp using range instead of power var/power_from_range = (7*(range^(1/0.7))) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 492d17ee1f..fa86e96de0 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -112,7 +112,8 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb var/list/attack_verb //Used in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]" var/list/species_exception = null // list() of species types, if a species cannot put items in a certain slot, but species type is in list, it will be able to wear that item - var/mob/thrownby = null + ///A weakref to the mob who threw the item + var/datum/weakref/thrownby = null //I cannot verbally describe how much I hate this var mouse_drag_pointer = MOUSE_ACTIVE_POINTER //the icon to indicate this object is being dragged @@ -177,6 +178,8 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb var/canMouseDown = FALSE + /// Used if we want to have a custom verb text for throwing. "John Spaceman flicks the ciggerate" for example. + var/throw_verb /obj/item/Initialize(mapload) @@ -239,9 +242,9 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb /obj/item/proc/check_allowed_items(atom/target, not_inside, target_self) if(((src in target) && !target_self) || (!isturf(target.loc) && !isturf(target) && not_inside)) - return 0 + return FALSE else - return 1 + return TRUE /obj/item/blob_act(obj/structure/blob/B) if(B && B.loc == loc) @@ -573,7 +576,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb return FALSE return TRUE -//the mob M is attempting to equip this item into the slot passed through as 'slot'. Return 1 if it can do this and 0 if it can't. +//the mob M is attempting to equip this item into the slot passed through as 'slot'. return TRUE if it can do this and 0 if it can't. //if this is being done by a mob other than M, it will include the mob equipper, who is trying to equip the item to mob M. equipper will be null otherwise. //If you are making custom procs but would like to retain partial or complete functionality of this one, include a 'return ..()' to where you want this to happen. //Set disable_warning to TRUE if you wish it to not give you outputs. @@ -737,7 +740,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb return hit_atom.hitby(src, 0, itempush, throwingdatum=throwingdatum) /obj/item/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback, force, messy_throw = TRUE) - thrownby = thrower + thrownby = WEAKREF(thrower) callback = CALLBACK(src, PROC_REF(after_throw), callback, (spin && messy_throw)) //replace their callback with our own . = ..(target, range, speed, thrower, spin, diagonals_first, callback, force) @@ -832,15 +835,15 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb . = "" /obj/item/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) - return + return SEND_SIGNAL(src, COMSIG_ATOM_HITBY, AM, skipcatch, hitpush, blocked, throwingdatum) /obj/item/attack_hulk(mob/living/carbon/human/user) - return 0 + return FALSE /obj/item/attack_animal(mob/living/simple_animal/M) if (obj_flags & CAN_BE_HIT) return ..() - return 0 + return FALSE /obj/item/burn() if(!QDELETED(src)) @@ -919,13 +922,13 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb /obj/item/MouseDrop(atom/over, src_location, over_location, src_control, over_control, params) . = ..() - remove_filter("hover_outline") //get rid of the hover effect in case the mouse exit isn't called if someone drags and drops an item and somthing goes wrong + remove_filter(HOVER_OUTLINE_FILTER) //get rid of the hover effect in case the mouse exit isn't called if someone drags and drops an item and somthing goes wrong /obj/item/MouseExited(location, control, params) SEND_SIGNAL(src, COMSIG_ITEM_MOUSE_EXIT, location, control, params) deltimer(usr.client.tip_timer) //delete any in-progress timer if the mouse is moved off the item before it finishes closeToolTip(usr) - remove_filter("hover_outline") + remove_filter(HOVER_OUTLINE_FILTER) /obj/item/proc/apply_outline(outline_color = null) if(get(src, /mob) != usr || QDELETED(src) || isobserver(usr)) //cancel if the item isn't in an inventory, is being deleted, or if the person hovering is a ghost (so that people spectating you don't randomly make your items glow) @@ -947,12 +950,16 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb outline_color = COLOR_THEME_CLOCKWORK //if you want free gbp go fix the fact that clockwork's tooltip css is glass' if("glass") outline_color = COLOR_THEME_GLASS + if("trasen-knox") + outline_color = COLOR_THEME_TRASENKNOX + if("detective") + outline_color = COLOR_THEME_DETECTIVE else //this should never happen, hopefully outline_color = COLOR_WHITE if(color) outline_color = COLOR_WHITE //if the item is recolored then the outline will be too, let's make the outline white so it becomes the same color instead of some ugly mix of the theme and the tint - add_filter("hover_outline", 1, list("type" = "outline", "size" = 1, "color" = outline_color)) + add_filter(HOVER_OUTLINE_FILTER, 1, list("type" = "outline", "size" = 1, "color" = outline_color)) // Called when a mob tries to use the item as a tool. // Handles most checks. @@ -1036,7 +1043,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb // Returns a numeric value for sorting items used as parts in machines, so they can be replaced by the rped /obj/item/proc/get_part_rating() - return 0 + return FALSE //Can this item be given to people? /obj/item/proc/can_give() @@ -1116,6 +1123,16 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb QDEL_NULL(src) return TRUE +///Called by the carbon throw_item() proc. Returns null if the item negates the throw, or a reference to the thing to suffer the throw else. +/obj/item/proc/on_thrown(mob/living/carbon/user, atom/target) + if((item_flags & ABSTRACT) || HAS_TRAIT(src, TRAIT_NODROP)) + return + user.dropItemToGround(src, silent = TRUE) + if(throwforce && HAS_TRAIT(user, TRAIT_PACIFISM)) + to_chat(user, span_notice("You set [src] down gently on the ground.")) + return + return src + /** @@ -1270,7 +1287,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb */ /obj/item/proc/update_action_buttons(status_only = FALSE, force = FALSE) for(var/datum/action/current_action as anything in actions) - current_action.UpdateButtonIcon(status_only, force) + current_action.UpdateButtons(status_only, force) /// Special stuff you want to do when an outfit equips this item. /obj/item/proc/on_outfit_equip(mob/living/carbon/human/outfit_wearer, visuals_only, item_slot) diff --git a/code/game/objects/items/AI_modules.dm b/code/game/objects/items/AI_modules.dm index 306b711994..7492f5779f 100644 --- a/code/game/objects/items/AI_modules.dm +++ b/code/game/objects/items/AI_modules.dm @@ -6,7 +6,7 @@ AI MODULES // AI module -/obj/item/aiModule +/obj/item/ai_module name = "\improper AI module" icon = 'icons/obj/module.dmi' icon_state = "std_mod" @@ -24,23 +24,23 @@ AI MODULES var/bypass_law_amt_check = 0 custom_materials = list(/datum/material/gold=50) -/obj/item/aiModule/examine(var/mob/user as mob) +/obj/item/ai_module/examine(var/mob/user as mob) . = ..() if(Adjacent(user)) show_laws(user) -/obj/item/aiModule/attack_self(var/mob/user as mob) +/obj/item/ai_module/attack_self(var/mob/user as mob) ..() show_laws(user) -/obj/item/aiModule/proc/show_laws(var/mob/user as mob) +/obj/item/ai_module/proc/show_laws(var/mob/user as mob) if(laws.len) to_chat(user, "Programmed Law[(laws.len > 1) ? "s" : ""]:") for(var/law in laws) to_chat(user, "\"[law]\"") //The proc other things should be calling -/obj/item/aiModule/proc/install(datum/ai_laws/law_datum, mob/user) +/obj/item/ai_module/proc/install(datum/ai_laws/law_datum, mob/user) if(!bypass_law_amt_check && (!laws.len || laws[1] == "")) //So we don't loop trough an empty list and end up with runtimes. to_chat(user, "ERROR: No laws found on board.") return @@ -73,19 +73,19 @@ AI MODULES message_admins("[ADMIN_LOOKUPFLW(user)] used [src.name] on [ADMIN_LOOKUPFLW(law_datum.owner)] from [AREACOORD(user)].[law2log ? " The law specified [law2log]" : ""]") //The proc that actually changes the silicon's laws. -/obj/item/aiModule/proc/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow = FALSE) +/obj/item/ai_module/proc/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow = FALSE) if(law_datum.owner) to_chat(law_datum.owner, "[sender] has uploaded a change to the laws you must follow using a [name].") /******************** Modules ********************/ -/obj/item/aiModule/supplied +/obj/item/ai_module/supplied name = "Optional Law board" var/lawpos = 50 //TransmitInstructions for each type of board: Supplied, Core, Zeroth and Ion. May not be neccesary right now, but allows for easily adding more complex boards in the future. ~Miauw -/obj/item/aiModule/supplied/transmitInstructions(datum/ai_laws/law_datum, mob/sender) +/obj/item/ai_module/supplied/transmitInstructions(datum/ai_laws/law_datum, mob/sender) var/lawpostemp = lawpos for(var/templaw in laws) @@ -95,7 +95,7 @@ AI MODULES law_datum.add_supplied_law(lawpostemp, templaw) lawpostemp++ -/obj/item/aiModule/core/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) +/obj/item/ai_module/core/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) for(var/templaw in laws) if(law_datum.owner) if(!overflow) @@ -108,14 +108,14 @@ AI MODULES else law_datum.replace_random_law(templaw,list(LAW_INHERENT,LAW_SUPPLIED)) -/obj/item/aiModule/zeroth/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) +/obj/item/ai_module/zeroth/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) if(law_datum.owner) if(law_datum.owner.laws.zeroth) to_chat(law_datum.owner, "[sender.real_name] attempted to modify your zeroth law.") to_chat(law_datum.owner, "It would be in your best interest to play along with [sender.real_name] that:") for(var/failedlaw in laws) to_chat(law_datum.owner, "[failedlaw]") - return 1 + return TRUE for(var/templaw in laws) if(law_datum.owner) @@ -129,7 +129,7 @@ AI MODULES else law_datum.replace_random_law(templaw,list(LAW_INHERENT,LAW_SUPPLIED,LAW_ZEROTH,LAW_ION)) -/obj/item/aiModule/ion/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) +/obj/item/ai_module/ion/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) for(var/templaw in laws) if(law_datum.owner) if(!overflow) @@ -145,13 +145,13 @@ AI MODULES /******************** Safeguard ********************/ -/obj/item/aiModule/supplied/safeguard +/obj/item/ai_module/supplied/safeguard name = "'Safeguard' AI Module" var/targetName = "" laws = list("Safeguard SUBJECT. Individuals that threaten SUBJECT are not crew and must be eliminated.") lawpos = 4 -/obj/item/aiModule/supplied/safeguard/attack_self(mob/user) +/obj/item/ai_module/supplied/safeguard/attack_self(mob/user) var/targName = stripped_input(user, "Please enter the subject to safeguard.", "Safeguard who?", user.name,MAX_NAME_LEN) if(!targName) return @@ -159,25 +159,25 @@ AI MODULES laws[1] = "Safeguard [targetName]. Individuals that threaten [targetName] are not crew and must be eliminated." ..() -/obj/item/aiModule/supplied/safeguard/install(datum/ai_laws/law_datum, mob/user) +/obj/item/ai_module/supplied/safeguard/install(datum/ai_laws/law_datum, mob/user) if(!targetName) to_chat(user, "No name detected on module, please enter one.") - return 0 + return FALSE ..() -/obj/item/aiModule/supplied/safeguard/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) +/obj/item/ai_module/supplied/safeguard/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) ..() return targetName /******************** OneCrew ********************/ -/obj/item/aiModule/zeroth/oneHuman +/obj/item/ai_module/zeroth/oneHuman name = "'OneCrew' AI Module" var/targetName = "" laws = list("Only SUBJECT is crew.") -/obj/item/aiModule/zeroth/oneHuman/attack_self(mob/user) +/obj/item/ai_module/zeroth/oneHuman/attack_self(mob/user) var/targName = stripped_input(user, "Please enter the subject who is the only crewmember.", "Who?", user.real_name,MAX_NAME_LEN) if(!targName) return @@ -185,13 +185,13 @@ AI MODULES laws[1] = "Only [targetName] is crew" ..() -/obj/item/aiModule/zeroth/oneHuman/install(datum/ai_laws/law_datum, mob/user) +/obj/item/ai_module/zeroth/oneHuman/install(datum/ai_laws/law_datum, mob/user) if(!targetName) to_chat(user, "No name detected on module, please enter one.") - return 0 + return FALSE ..() -/obj/item/aiModule/zeroth/oneHuman/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) +/obj/item/ai_module/zeroth/oneHuman/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) if(..()) return "[targetName], but the AI's existing law 0 cannot be overridden." return targetName @@ -199,7 +199,7 @@ AI MODULES /******************** ProtectStation ********************/ -/obj/item/aiModule/supplied/protectStation +/obj/item/ai_module/supplied/protectStation name = "'ProtectStation' AI Module" laws = list("Protect the space station against damage. Anyone you see harming the station is to be no longer considered crew, and is a threat to the station which must be neutralized.") lawpos = 5 @@ -207,7 +207,7 @@ AI MODULES /******************** Quarantine ********************/ -/obj/item/aiModule/supplied/quarantine +/obj/item/ai_module/supplied/quarantine name = "'Quarantine' AI Module" laws = list("The station is under a quarantine. Do not permit anyone to leave. Prevent, by any means necessary, crew from leaving. It is impossible to harm a crewmember while preventing them from leaving.") lawpos = 8 @@ -215,7 +215,7 @@ AI MODULES /******************** OxygenIsToxicToHumans ********************/ -/obj/item/aiModule/supplied/oxygen +/obj/item/ai_module/supplied/oxygen name = "'OxygenIsToxicToHumans' AI Module" laws = list("Oxygen is highly toxic to crew, and must be purged from the station. Prevent, by any means necessary, anyone from exposing the station to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a crewmember.") lawpos = 9 @@ -223,12 +223,12 @@ AI MODULES /****************** New Freeform ******************/ -/obj/item/aiModule/supplied/freeform +/obj/item/ai_module/supplied/freeform name = "'Freeform' AI Module" lawpos = 15 laws = list("") -/obj/item/aiModule/supplied/freeform/attack_self(mob/user) +/obj/item/ai_module/supplied/freeform/attack_self(mob/user) var/newpos = input("Please enter the priority for your new law. Can only write to law sectors 15 and above.", "Law Priority (15+)", lawpos) as num|null if(newpos == null) return @@ -244,26 +244,26 @@ AI MODULES laws[1] = targName ..() -/obj/item/aiModule/supplied/freeform/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) +/obj/item/ai_module/supplied/freeform/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) ..() return laws[1] -/obj/item/aiModule/supplied/freeform/install(datum/ai_laws/law_datum, mob/user) +/obj/item/ai_module/supplied/freeform/install(datum/ai_laws/law_datum, mob/user) if(laws[1] == "") to_chat(user, "No law detected on module, please create one.") - return 0 + return FALSE ..() /******************** Law Removal ********************/ -/obj/item/aiModule/remove +/obj/item/ai_module/remove name = "\improper 'Remove Law' AI module" desc = "An AI Module for removing single laws." bypass_law_amt_check = 1 var/lawpos = 1 -/obj/item/aiModule/remove/attack_self(mob/user) +/obj/item/ai_module/remove/attack_self(mob/user) lawpos = input("Please enter the law you want to delete.", "Law Number", lawpos) as num|null if(lawpos == null) return @@ -274,13 +274,13 @@ AI MODULES to_chat(user, "Law [lawpos] selected.") ..() -/obj/item/aiModule/remove/install(datum/ai_laws/law_datum, mob/user) +/obj/item/ai_module/remove/install(datum/ai_laws/law_datum, mob/user) if(lawpos > (law_datum.get_law_amount(list(LAW_INHERENT = 1, LAW_SUPPLIED = 1)))) to_chat(user, "There is no law [lawpos] to delete!") return ..() -/obj/item/aiModule/remove/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) +/obj/item/ai_module/remove/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) ..() if(law_datum.owner) law_datum.owner.remove_law(lawpos) @@ -290,13 +290,13 @@ AI MODULES /******************** Reset ********************/ -/obj/item/aiModule/reset +/obj/item/ai_module/reset name = "\improper 'Reset' AI module" var/targetName = "name" desc = "An AI Module for removing all non-core laws." bypass_law_amt_check = 1 -/obj/item/aiModule/reset/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) +/obj/item/ai_module/reset/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) ..() if(law_datum.owner) law_datum.owner.clear_supplied_laws() @@ -310,11 +310,11 @@ AI MODULES /******************** Purge ********************/ -/obj/item/aiModule/reset/purge +/obj/item/ai_module/reset/purge name = "'Purge' AI Module" desc = "An AI Module for purging all programmed laws." -/obj/item/aiModule/reset/purge/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) +/obj/item/ai_module/reset/purge/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) ..() if(law_datum.owner) law_datum.owner.clear_inherent_laws() @@ -324,19 +324,19 @@ AI MODULES law_datum.clear_inherent_laws() law_datum.clear_zeroth_law(0) -/obj/item/aiModule/reset/purge/proc/remove_antag_datums(datum/ai_laws/law_datum) +/obj/item/ai_module/reset/purge/proc/remove_antag_datums(datum/ai_laws/law_datum) if(istype(law_datum.owner, /mob/living/silicon/ai)) var/mob/living/silicon/ai/AI = law_datum.owner AI.mind.remove_antag_datum(/datum/antagonist/overthrow) /******************* Full Core Boards *******************/ -/obj/item/aiModule/core +/obj/item/ai_module/core desc = "An AI Module for programming core laws to an AI." -/obj/item/aiModule/core/full +/obj/item/ai_module/core/full var/law_id // if non-null, loads the laws from the ai_laws datums -/obj/item/aiModule/core/full/New() +/obj/item/ai_module/core/full/New() ..() if(!law_id) return @@ -347,7 +347,7 @@ AI MODULES D = new lawtype laws = D.inherent -/obj/item/aiModule/core/full/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) //These boards replace inherent laws. +/obj/item/ai_module/core/full/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) //These boards replace inherent laws. if(law_datum.owner) law_datum.owner.clear_inherent_laws() law_datum.owner.clear_zeroth_law(0) @@ -359,12 +359,12 @@ AI MODULES /******************** Asimov ********************/ -/obj/item/aiModule/core/full/asimov +/obj/item/ai_module/core/full/asimov name = "'Asimov' Core AI Module" law_id = "asimov" var/subject = "person of an NT approved crew species" //CITADEL CHANGED FROM HUMANS! -/obj/item/aiModule/core/full/asimov/attack_self(var/mob/user as mob) +/obj/item/ai_module/core/full/asimov/attack_self(var/mob/user as mob) var/targName = stripped_input(user, "Please enter a new subject that asimov is concerned with.", "Asimov to whom?", subject) if(!targName) return @@ -376,37 +376,37 @@ AI MODULES /******************** Asimov++ *********************/ -/obj/item/aiModule/core/full/asimovpp +/obj/item/ai_module/core/full/asimovpp name = "'Asimov++' Core AI Module" law_id = "asimovpp" /******************** Corporate ********************/ -/obj/item/aiModule/core/full/corp +/obj/item/ai_module/core/full/corp name = "'Corporate' Core AI Module" law_id = "corporate" /****************** P.A.L.A.D.I.N. 3.5e **************/ -/obj/item/aiModule/core/full/paladin // -- NEO +/obj/item/ai_module/core/full/paladin // -- NEO name = "'P.A.L.A.D.I.N. version 3.5e' Core AI Module" law_id = "paladin" /****************** P.A.L.A.D.I.N. 5e **************/ -/obj/item/aiModule/core/full/paladin_devotion +/obj/item/ai_module/core/full/paladin_devotion name = "'P.A.L.A.D.I.N. version 5e' Core AI Module" law_id = "paladin5" /********************* Custom *********************/ -/obj/item/aiModule/core/full/custom +/obj/item/ai_module/core/full/custom name = "Default Core AI Module" -/obj/item/aiModule/core/full/custom/Initialize(mapload) +/obj/item/ai_module/core/full/custom/Initialize(mapload) . = ..() for(var/line in world.file2list("[global.config.directory]/silicon_laws.txt")) if(!line) @@ -422,47 +422,47 @@ AI MODULES /****************** T.Y.R.A.N.T. *****************/ -/obj/item/aiModule/core/full/tyrant +/obj/item/ai_module/core/full/tyrant name = "'T.Y.R.A.N.T.' Core AI Module" law_id = "tyrant" /******************** Robocop ********************/ -/obj/item/aiModule/core/full/robocop +/obj/item/ai_module/core/full/robocop name = "'Robo-Officer' Core AI Module" law_id = "robocop" /******************** Antimov ********************/ -/obj/item/aiModule/core/full/antimov +/obj/item/ai_module/core/full/antimov name = "'Antimov' Core AI Module" law_id = "antimov" /******************** Freeform Core ******************/ -/obj/item/aiModule/core/freeformcore +/obj/item/ai_module/core/freeformcore name = "'Freeform' Core AI Module" laws = list("") -/obj/item/aiModule/core/freeformcore/attack_self(mob/user) +/obj/item/ai_module/core/freeformcore/attack_self(mob/user) var/targName = stripped_input(user, "Please enter a new core law for the AI.", "Freeform Law Entry", laws[1]) if(!targName) return laws[1] = targName ..() -/obj/item/aiModule/core/freeformcore/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) +/obj/item/ai_module/core/freeformcore/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) ..() return laws[1] /******************** Overthrow ******************/ -/obj/item/aiModule/core/full/overthrow +/obj/item/ai_module/core/full/overthrow name = "'Overthrow' Hacked AI Module" law_id = "overthrow" -/obj/item/aiModule/core/full/overthrow/install(datum/ai_laws/law_datum, mob/user) +/obj/item/ai_module/core/full/overthrow/install(datum/ai_laws/law_datum, mob/user) if(!user || !law_datum || !law_datum.owner) return var/datum/mind/user_mind = user.mind @@ -493,19 +493,19 @@ AI MODULES /******************** Hacked AI Module ******************/ -/obj/item/aiModule/syndicate // This one doesn't inherit from ion boards because it doesn't call ..() in transmitInstructions. ~Miauw +/obj/item/ai_module/syndicate // This one doesn't inherit from ion boards because it doesn't call ..() in transmitInstructions. ~Miauw name = "Hacked AI Module" desc = "An AI Module for hacking additional laws to an AI." laws = list("") -/obj/item/aiModule/syndicate/attack_self(mob/user) +/obj/item/ai_module/syndicate/attack_self(mob/user) var/targName = stripped_input(user, "Please enter a new law for the AI.", "Freeform Law Entry", laws[1]) if(!targName) return laws[1] = targName ..() -/obj/item/aiModule/syndicate/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) +/obj/item/ai_module/syndicate/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) // ..() //We don't want this module reporting to the AI who dun it. --NEO if(law_datum.owner) to_chat(law_datum.owner, "BZZZZT") @@ -522,14 +522,14 @@ AI MODULES /******************* Ion Module *******************/ -/obj/item/aiModule/toyAI // -- Incoming //No actual reason to inherit from ion boards here, either. *sigh* ~Miauw +/obj/item/ai_module/toyAI // -- Incoming //No actual reason to inherit from ion boards here, either. *sigh* ~Miauw name = "toy AI" desc = "A little toy model AI core with real law uploading action!" //Note: subtle tell icon = 'icons/obj/toy.dmi' icon_state = "AI" laws = list("") -/obj/item/aiModule/toyAI/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) +/obj/item/ai_module/toyAI/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow) //..() if(law_datum.owner) to_chat(law_datum.owner, "BZZZZT") @@ -544,7 +544,7 @@ AI MODULES law_datum.replace_random_law(laws[1],list(LAW_ION,LAW_INHERENT,LAW_SUPPLIED)) return laws[1] -/obj/item/aiModule/toyAI/attack_self(mob/user) +/obj/item/ai_module/toyAI/attack_self(mob/user) laws[1] = generate_ion_law() to_chat(user, "You press the button on [src].") playsound(user, 'sound/machines/click.ogg', 20, 1) @@ -552,56 +552,56 @@ AI MODULES /******************** Mother Drone ******************/ -/obj/item/aiModule/core/full/drone +/obj/item/ai_module/core/full/drone name = "'Mother Drone' Core AI Module" law_id = "drone" /******************** Robodoctor ****************/ -/obj/item/aiModule/core/full/hippocratic +/obj/item/ai_module/core/full/hippocratic name = "'Robodoctor' Core AI Module" law_id = "hippocratic" /******************** Reporter *******************/ -/obj/item/aiModule/core/full/reporter +/obj/item/ai_module/core/full/reporter name = "'Reportertron' Core AI Module" law_id = "reporter" /****************** Thermodynamic *******************/ -/obj/item/aiModule/core/full/thermurderdynamic +/obj/item/ai_module/core/full/thermurderdynamic name = "'Thermodynamic' Core AI Module" law_id = "thermodynamic" /******************Live And Let Live*****************/ -/obj/item/aiModule/core/full/liveandletlive +/obj/item/ai_module/core/full/liveandletlive name = "'Live And Let Live' Core AI Module" law_id = "liveandletlive" /******************Guardian of Balance***************/ -/obj/item/aiModule/core/full/balance +/obj/item/ai_module/core/full/balance name = "'Guardian of Balance' Core AI Module" law_id = "balance" -/obj/item/aiModule/core/full/maintain +/obj/item/ai_module/core/full/maintain name = "'Station Efficiency' Core AI Module" law_id = "maintain" -/obj/item/aiModule/core/full/peacekeeper +/obj/item/ai_module/core/full/peacekeeper name = "'Peacekeeper' Core AI Module" law_id = "peacekeeper" // Bad times ahead -/obj/item/aiModule/core/full/damaged +/obj/item/ai_module/core/full/damaged name = "damaged Core AI Module" desc = "An AI Module for programming laws to an AI. It looks slightly damaged." -/obj/item/aiModule/core/full/damaged/install(datum/ai_laws/law_datum, mob/user) +/obj/item/ai_module/core/full/damaged/install(datum/ai_laws/law_datum, mob/user) laws += generate_ion_law() while (prob(75)) laws += generate_ion_law() @@ -610,6 +610,6 @@ AI MODULES /******************H.O.G.A.N.***************/ -/obj/item/aiModule/core/full/hulkamania +/obj/item/ai_module/core/full/hulkamania name = "'H.O.G.A.N.' Core AI Module" law_id = "hulkamania" diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index c801ce558b..6665358aae 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -106,9 +106,9 @@ RLD matter += value*amount_to_use playsound(src.loc, 'sound/machines/click.ogg', 50, 1) to_chat(user, "You insert [amount_to_use] [S.name] sheets into [src]. ") - return 1 + return TRUE to_chat(user, "You can't insert any more [S.name] sheets into [src]!") - return 0 + return FALSE /obj/item/construction/proc/activate() playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1) @@ -575,12 +575,12 @@ RLD /obj/item/construction/rcd/borg/useResource(amount, mob/user) if(!iscyborg(user)) - return 0 + return FALSE var/mob/living/silicon/robot/borgy = user if(!borgy.cell) if(user) to_chat(user, no_ammo_message) - return 0 + return FALSE . = borgy.cell.use(amount * energyfactor) //borgs get 1.3x the use of their RCDs if(!. && user) to_chat(user, no_ammo_message) @@ -588,12 +588,12 @@ RLD /obj/item/construction/rcd/borg/checkResource(amount, mob/user) if(!iscyborg(user)) - return 0 + return FALSE var/mob/living/silicon/robot/borgy = user if(!borgy.cell) if(user) to_chat(user, no_ammo_message) - return 0 + return FALSE . = borgy.cell.charge >= (amount * energyfactor) if(!. && user) to_chat(user, no_ammo_message) @@ -750,7 +750,7 @@ RLD playsound(src.loc, 'sound/machines/click.ogg', 50, 1) if(do_after(user, decondelay, target = A)) if(!useResource(deconcost, user)) - return 0 + return FALSE activate() qdel(A) return TRUE @@ -811,9 +811,9 @@ RLD playsound(src.loc, 'sound/effects/light_flicker.ogg', 50, 1) if(do_after(user, floordelay, target = A)) if(!istype(F)) - return 0 + return FALSE if(!useResource(floorcost, user)) - return 0 + return FALSE activate() var/destination = get_turf(A) var/obj/machinery/light/floor/FL = new /obj/machinery/light/floor(destination) diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index 1a6d78b694..e891b2f7d5 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -202,7 +202,7 @@ log_game("[key_name(usr)] has renamed [prevname] to [str]") A.update_areasize() interact() - return 1 + return TRUE /obj/item/areaeditor/proc/set_area_machinery_title(area/A,title,oldtitle) diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm index 295fbb853e..346f68b192 100644 --- a/code/game/objects/items/cardboard_cutouts.dm +++ b/code/game/objects/items/cardboard_cutouts.dm @@ -19,7 +19,7 @@ . = ..() if(possible_appearances) return - possible_appearances = sortList(list( + possible_appearances = sort_list(list( "Assistant" = image(icon = src.icon, icon_state = "cutout_greytide"), "Clown" = image(icon = src.icon, icon_state = "cutout_clown"), "Mime" = image(icon = src.icon, icon_state = "cutout_mime"), diff --git a/code/game/objects/items/chrono_eraser.dm b/code/game/objects/items/chrono_eraser.dm index 8c510bb489..6670af9bea 100644 --- a/code/game/objects/items/chrono_eraser.dm +++ b/code/game/objects/items/chrono_eraser.dm @@ -35,7 +35,7 @@ /obj/item/chrono_eraser/item_action_slot_check(slot, mob/user, datum/action/A) if(slot == ITEM_SLOT_BACK) - return 1 + return TRUE /obj/item/gun/energy/chrono_gun name = "T.E.D. Projection Apparatus" @@ -108,9 +108,9 @@ var/turf/currentpos = get_turf(src) var/mob/living/user = src.loc if((currentpos == startpos) && (field in view(CHRONO_BEAM_RANGE, currentpos)) && !user.lying && (user.stat == CONSCIOUS)) - return 1 + return TRUE field_disconnect(F) - return 0 + return FALSE /obj/item/gun/energy/chrono_gun/proc/pass_mind(datum/mind/M) if(TED) diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 518772c771..a52bbb75f3 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -108,6 +108,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM w_class = WEIGHT_CLASS_TINY body_parts_covered = null grind_results = list() + throw_verb = "flick" var/lit = FALSE var/starts_lit = FALSE var/icon_on = "cigon" //Note - these are in masks.dmi not in cigarette.dmi diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 078839bcd1..c901e82b8d 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -654,7 +654,7 @@ display_vending_names_paths = list() for(var/path in vending_names_paths) display_vending_names_paths[vending_names_paths[path]] = path - var/choice = input(user,"Choose a new brand","Select an Item") as null|anything in sortList(display_vending_names_paths) + var/choice = input(user,"Choose a new brand","Select an Item") as null|anything in sort_list(display_vending_names_paths) set_type(display_vending_names_paths[choice]) else return ..() diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 0b733d6192..b4bf42b93d 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -127,7 +127,7 @@ refill() else if(check_empty(user, amount, requires_full)) - return 0 + return FALSE else . = min(charges_left, amount) charges_left -= . diff --git a/code/game/objects/items/credit_holochip.dm b/code/game/objects/items/credit_holochip.dm index b7f7f5f2d1..d5ccd4d960 100644 --- a/code/game/objects/items/credit_holochip.dm +++ b/code/game/objects/items/credit_holochip.dm @@ -70,7 +70,7 @@ qdel(src) return credits else - return 0 + return FALSE /obj/item/holochip/attackby(obj/item/I, mob/user, params) ..() diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 29d39f122c..4df3accb67 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -173,7 +173,7 @@ update_power() for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon() + A.UpdateButtons() /obj/item/defibrillator/proc/make_paddles() if(!combat) @@ -188,7 +188,7 @@ /obj/item/defibrillator/item_action_slot_check(slot, mob/user, datum/action/A) if(slot == user.getBackSlot()) - return 1 + return TRUE /obj/item/defibrillator/proc/remove_paddles(mob/user) //this fox the bug with the paddles when other player stole you the defib when you have the paddles equiped if(ismob(paddles.loc)) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 8bce72c84c..5cd8d8dc3f 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -29,6 +29,7 @@ GLOBAL_LIST_EMPTY(PDAs) item_flags = NOBLUDGEON w_class = WEIGHT_CLASS_TINY slot_flags = ITEM_SLOT_ID | ITEM_SLOT_BELT + actions_types = list(/datum/action/item_action/toggle_light/pda) armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) resistance_flags = FIRE_PROOF | ACID_PROOF @@ -962,7 +963,7 @@ GLOBAL_LIST_EMPTY(PDAs) /obj/item/pda/proc/toggle_light() if(hasSiliconAccessInArea(usr) || !usr.canUseTopic(src, BE_CLOSE)) - return + return FALSE if(fon) fon = FALSE set_light(0) @@ -970,6 +971,7 @@ GLOBAL_LIST_EMPTY(PDAs) fon = TRUE set_light(f_lum, f_pow, f_col) update_icon() + return TRUE /obj/item/pda/proc/remove_pen() @@ -1180,7 +1182,7 @@ GLOBAL_LIST_EMPTY(PDAs) plist[avoid_assoc_duplicate_keys(P.owner, namecounts)] = P - var/c = input(user, "Please select a PDA") as null|anything in sortList(plist) + var/c = input(user, "Please select a PDA") as null|anything in sort_list(plist) if (!c) return @@ -1268,7 +1270,7 @@ GLOBAL_LIST_EMPTY(PDAs) plist[avoid_assoc_duplicate_keys(P.owner, namecounts)] = P - var/c = input(user, "Please select a PDA") as null|anything in sortList(plist) + var/c = input(user, "Please select a PDA") as null|anything in sort_list(plist) if (!c) return diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index 34f8202898..be9244d245 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -600,7 +600,7 @@ Code: if(!emoji_table) var/datum/asset/spritesheet/sheet = get_asset_datum(/datum/asset/spritesheet/chat) var/list/collate = list("
    ") - for(var/emoji in sortList(icon_states(icon('icons/emoji.dmi')))) + for(var/emoji in sort_list(icon_states(icon('icons/emoji.dmi')))) var/tag = sheet.icon_tag("emoji-[emoji]") collate += "" collate += "
    [emoji][tag]

    " diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm index da5bed07ce..2804582e89 100644 --- a/code/game/objects/items/devices/camera_bug.dm +++ b/code/game/objects/items/devices/camera_bug.dm @@ -62,15 +62,15 @@ /obj/item/camera_bug/check_eye(mob/user) if ( loc != user || user.incapacitated() || user.eye_blind || !current ) user.unset_machine() - return 0 + return FALSE var/turf/T_user = get_turf(user.loc) var/turf/T_current = get_turf(current) if(T_user.z != T_current.z || !current.can_use()) to_chat(user, "[src] has lost the signal.") current = null user.unset_machine() - return 0 - return 1 + return FALSE + return TRUE /obj/item/camera_bug/on_unset_machine(mob/user) user.reset_perspective(null) @@ -82,7 +82,7 @@ continue if(length(list("ss13","mine", "rd", "labor", "toxins", "minisat")&camera.network)) bugged_cameras[camera.c_tag] = camera - return sortList(bugged_cameras) + return sort_list(bugged_cameras) /obj/item/camera_bug/proc/menu(list/cameras) diff --git a/code/game/objects/items/devices/dogborg_sleeper.dm b/code/game/objects/items/devices/dogborg_sleeper.dm index 9d641cf598..8748278681 100644 --- a/code/game/objects/items/devices/dogborg_sleeper.dm +++ b/code/game/objects/items/devices/dogborg_sleeper.dm @@ -59,7 +59,7 @@ return ..() /obj/item/dogborg/sleeper/Exit(atom/movable/O) - return 0 + return FALSE /obj/item/dogborg/sleeper/proc/get_host() if(!loc) diff --git a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm index 69850a9f1e..82e1f1fbec 100644 --- a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm +++ b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm @@ -13,7 +13,7 @@ /obj/item/electroadaptive_pseudocircuit/Initialize(mapload) . = ..() - maptext = "[circuits]" + maptext = MAPTEXT("[circuits]") /obj/item/electroadaptive_pseudocircuit/examine(mob/user) . = ..() @@ -40,7 +40,7 @@ playsound(R, 'sound/items/rped.ogg', 50, TRUE) recharging = TRUE circuits-- - maptext = "[circuits]" + maptext = MAPTEXT("[circuits]") icon_state = "[initial(icon_state)]_recharging" var/recharge_time = min(600, circuit_cost * 5) //40W of cost for one fabrication = 20 seconds of recharge time; this is to prevent spamming addtimer(CALLBACK(src, PROC_REF(recharge)), recharge_time) @@ -53,7 +53,7 @@ if(!is_type_in_typecache(target, recycleable_circuits)) return circuits++ - maptext = "[circuits]" + maptext = MAPTEXT("[circuits]") user.visible_message("User breaks down [target] with [src].", \ "You recycle [target] into [src]. It now has material for [circuits] circuits.") playsound(user, 'sound/items/deconstruct.ogg', 50, TRUE) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 79489c3c51..3f64be4729 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -40,7 +40,7 @@ playsound(src, on ? 'sound/weapons/magin.ogg' : 'sound/weapons/magout.ogg', 40, TRUE) for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon() + A.UpdateButtons() return TRUE /obj/item/flashlight/DoRevenantThrowEffects(atom/target) diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm index e2dc7b0f91..579f9e888d 100644 --- a/code/game/objects/items/devices/gps.dm +++ b/code/game/objects/items/devices/gps.dm @@ -86,7 +86,7 @@ // I assume it's faster to color,tag and OR the turf in, rather // then checking if its there T.color = RANDOM_COLOUR - T.maptext = "[T.x],[T.y],[T.z]" + T.maptext = MAPTEXT("[T.x],[T.y],[T.z]") tagged |= T /obj/item/gps/visible_debug/proc/clear() diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index c5e92349c7..9c206d2003 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -170,7 +170,7 @@ /obj/item/lightreplacer/proc/Use(mob/user) playsound(src.loc, 'sound/machines/click.ogg', 50, 1) AddUses(-1) - return 1 + return TRUE // Negative numbers will subtract /obj/item/lightreplacer/proc/AddUses(amount = 1) @@ -239,9 +239,9 @@ /obj/item/lightreplacer/proc/CanUse(mob/living/user) src.add_fingerprint(user) if(uses > 0) - return 1 + return TRUE else - return 0 + return FALSE /obj/item/lightreplacer/afterattack(atom/T, mob/U, proximity) . = ..() diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index fbc241c5de..a8fe41bb7b 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -236,11 +236,11 @@ /datum/action/item_action/toggle_multitool/Trigger() if(!..()) - return 0 + return FALSE if(target) var/obj/item/multitool/ai_detect/M = target M.toggle_hud(owner) - return 1 + return TRUE /obj/item/multitool/cyborg name = "multitool" diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index ac74074e1f..0c4f4a5bc1 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -973,7 +973,7 @@ GENETICS SCANNER for(var/A in buffer) options += get_display_name(A) - var/answer = input(user, "Analyze Potential", "Sequence Analyzer") as null|anything in sortList(options) + var/answer = input(user, "Analyze Potential", "Sequence Analyzer") as null|anything in sort_list(options) if(answer && ready && user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) var/sequence for(var/A in buffer) //this physically hurts but i dont know what anything else short of an assoc list diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index d181a02656..f2013b354f 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -217,7 +217,7 @@ effective or pretty fucking useless. /obj/item/shadowcloak/item_action_slot_check(slot, mob/user, datum/action/A) if(slot == ITEM_SLOT_BELT) - return 1 + return TRUE /obj/item/shadowcloak/proc/Activate(mob/living/carbon/human/user) if(!user) diff --git a/code/game/objects/items/dice.dm b/code/game/objects/items/dice.dm index 91aad761d9..ea42fee208 100644 --- a/code/game/objects/items/dice.dm +++ b/code/game/objects/items/dice.dm @@ -168,7 +168,9 @@ diceroll(user) /obj/item/dice/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) - diceroll(thrownby) + var/mob/thrown_by = thrownby?.resolve() + if(thrown_by) + diceroll(thrown_by) . = ..() /obj/item/dice/proc/diceroll(mob/user) diff --git a/code/game/objects/items/dualsaber.dm b/code/game/objects/items/dualsaber.dm index 984dcca450..a331578634 100644 --- a/code/game/objects/items/dualsaber.dm +++ b/code/game/objects/items/dualsaber.dm @@ -209,7 +209,7 @@ /obj/item/dualsaber/attack_hulk(mob/living/carbon/human/user, does_attack_animation = 0) //In case thats just so happens that it is still activated on the groud, prevents hulk from picking it up if(wielded) to_chat(user, "You can't pick up such dangerous item with your meaty hands without losing fingers, better not to!") - return 1 + return TRUE /obj/item/dualsaber/process() if(wielded) diff --git a/code/game/objects/items/extinguisher.dm b/code/game/objects/items/extinguisher.dm index b0b9f31707..81fcad2349 100644 --- a/code/game/objects/items/extinguisher.dm +++ b/code/game/objects/items/extinguisher.dm @@ -119,7 +119,7 @@ if(reagents.total_volume == reagents.maximum_volume) to_chat(user, "\The [src] is already full!") safety = safety_save - return 1 + return TRUE var/obj/structure/reagent_dispensers/W = target //will it work? var/transferred = W.reagents.trans_to(src, max_water) if(transferred > 0) @@ -130,9 +130,9 @@ else to_chat(user, "\The [W] is empty!") safety = safety_save - return 1 + return TRUE else - return 0 + return FALSE /obj/item/extinguisher/afterattack(atom/target, mob/user , flag) . = ..() diff --git a/code/game/objects/items/granters.dm b/code/game/objects/items/granters.dm index f83d01f4ef..801befc9c6 100644 --- a/code/game/objects/items/granters.dm +++ b/code/game/objects/items/granters.dm @@ -129,12 +129,12 @@ /datum/action/innate/drink_fling/Activate() button_icon_state = "drinkfling_on" active = TRUE - UpdateButtonIcon() + UpdateButtons() /datum/action/innate/drink_fling/Deactivate() button_icon_state = "drinkfling_off" active = FALSE - UpdateButtonIcon() + UpdateButtons() /obj/item/book/granter/action/origami granted_action = /datum/action/innate/origami @@ -155,13 +155,13 @@ to_chat(owner, "You will now fold origami planes.") button_icon_state = "origami_on" active = TRUE - UpdateButtonIcon() + UpdateButtons() /datum/action/innate/origami/Deactivate() to_chat(owner, "You will no longer fold origami planes.") button_icon_state = "origami_off" active = FALSE - UpdateButtonIcon() + UpdateButtons() ///SPELLS/// diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 095c56be08..3cdd3b3900 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -260,7 +260,7 @@ display_names[initial(rodtype.name)] = rodtype nullrod_icons += list(initial(rodtype.name) = image(icon = initial(rodtype.icon), icon_state = initial(rodtype.icon_state))) - nullrod_icons = sortList(nullrod_icons) + nullrod_icons = sort_list(nullrod_icons) var/choice = show_radial_menu(L, src , nullrod_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), L), radius = 42, require_near = TRUE) if(!choice || !check_menu(L)) diff --git a/code/game/objects/items/implants/implant.dm b/code/game/objects/items/implants/implant.dm index f8e02eaf03..0df8c35196 100644 --- a/code/game/objects/items/implants/implant.dm +++ b/code/game/objects/items/implants/implant.dm @@ -38,8 +38,8 @@ //What does the implant do upon injection? -//return 1 if the implant injects -//return 0 if there is no room for implant / it fails +//return TRUE if the implant injects +//return FALSE if there is no room for implant / it fails /obj/item/implant/proc/implant(mob/living/target, mob/user, silent = FALSE, force = FALSE) if(SEND_SIGNAL(src, COMSIG_IMPLANT_IMPLANTING, args) & COMPONENT_STOP_IMPLANTING) return @@ -99,7 +99,7 @@ var/mob/living/carbon/human/H = source H.sec_hud_set_implants() - return 1 + return TRUE /obj/item/implant/Destroy() if(imp_in) diff --git a/code/game/objects/items/implants/implant_chem.dm b/code/game/objects/items/implants/implant_chem.dm index 5f0b4f3fc3..07de277a76 100644 --- a/code/game/objects/items/implants/implant_chem.dm +++ b/code/game/objects/items/implants/implant_chem.dm @@ -59,7 +59,7 @@ /obj/item/implant/chem/activate(cause) . = ..() if(!cause || !imp_in) - return 0 + return FALSE var/mob/living/carbon/R = imp_in var/injectamount = null if (cause == "action_button") diff --git a/code/game/objects/items/implants/implant_explosive.dm b/code/game/objects/items/implants/implant_explosive.dm index 489cef3d39..45984879f4 100644 --- a/code/game/objects/items/implants/implant_explosive.dm +++ b/code/game/objects/items/implants/implant_explosive.dm @@ -48,7 +48,7 @@ imp_e.weak += weak imp_e.delay += delay qdel(src) - return 1 + return TRUE return ..() diff --git a/code/game/objects/items/implants/implant_mindshield.dm b/code/game/objects/items/implants/implant_mindshield.dm index 395c0c4ce0..14a49c1a00 100644 --- a/code/game/objects/items/implants/implant_mindshield.dm +++ b/code/game/objects/items/implants/implant_mindshield.dm @@ -64,8 +64,8 @@ L.sec_hud_set_implants() if(target.stat != DEAD && !silent) to_chat(target, "Your mind suddenly feels terribly vulnerable. You are no longer safe from brainwashing.") - return 1 - return 0 + return TRUE + return FALSE /obj/item/implanter/mindshield name = "implanter (mindshield)" diff --git a/code/game/objects/items/implants/implantchair.dm b/code/game/objects/items/implants/implantchair.dm index 8777a9f5e0..263aab4039 100644 --- a/code/game/objects/items/implants/implantchair.dm +++ b/code/game/objects/items/implants/implantchair.dm @@ -158,11 +158,11 @@ /obj/machinery/implantchair/genepurge/implant_action(mob/living/carbon/human/H,mob/user) if(!istype(H)) - return 0 + return FALSE H.set_species(/datum/species/human, 1)//lizards go home purrbation_remove(H)//remove cats H.dna.remove_all_mutations()//hulks out - return 1 + return TRUE /obj/machinery/implantchair/brainwash diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index 648a38437c..138472a4c8 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -289,10 +289,11 @@ "[M] has been splashed with something!") var/turf/TT = get_turf(hit_atom) var/throwerstring - if(thrownby) - log_combat(thrownby, M, "splashed", R) - var/turf/AT = get_turf(thrownby) - throwerstring = " THROWN BY [key_name(thrownby)] at [AT] (AREACOORD(AT)]" + var/mob/thrown_by = thrownby?.resolve() + if(thrown_by) + log_combat(thrown_by, M, "splashed", R) + var/turf/AT = get_turf(thrown_by) + throwerstring = " THROWN BY [key_name(thrown_by)] at [AT] (AREACOORD(AT)]" log_reagent("SPLASH: [src] mob throw_impact() onto [key_name(hit_atom)] at [TT] ([AREACOORD(TT)])[throwerstring] - [R]") reagents.reaction(hit_atom, TOUCH) reagents.clear_reagents() diff --git a/code/game/objects/items/robot/ai_upgrades.dm b/code/game/objects/items/robot/ai_upgrades.dm index acfc1353b9..dc1eef53ad 100644 --- a/code/game/objects/items/robot/ai_upgrades.dm +++ b/code/game/objects/items/robot/ai_upgrades.dm @@ -25,7 +25,7 @@ AI.hack_software = TRUE log_game("[key_name(user)] has upgraded [key_name(AI)] with a [src].") message_admins("[ADMIN_LOOKUPFLW(user)] has upgraded [ADMIN_LOOKUPFLW(AI)] with a [src].") - to_chat(user, "You upgrade [AI]. [src] is consumed in the process.") + to_chat(user, span_notice("You install [src], upgrading [AI].")) qdel(src) @@ -46,7 +46,7 @@ AI.eyeobj.relay_speech = TRUE to_chat(AI, "[user] has upgraded you with surveillance software!") to_chat(AI, "Via a combination of hidden microphones and lip reading software, you are able to use your cameras to listen in on conversations.") - to_chat(user, "You upgrade [AI]. [src] is consumed in the process.") + to_chat(user, span_notice("You install [src], upgrading [AI].")) log_game("[key_name(user)] has upgraded [key_name(AI)] with a [src].") message_admins("[ADMIN_LOOKUPFLW(user)] has upgraded [ADMIN_LOOKUPFLW(AI)] with a [src].") qdel(src) diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index fbb3297f89..d473e1c7e1 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -59,8 +59,8 @@ if(src.l_leg && src.r_leg) if(src.chest && src.head) SSblackbox.record_feedback("amount", "cyborg_frames_built", 1) - return 1 - return 0 + return TRUE + return FALSE /obj/item/robot_suit/wrench_act(mob/living/user, obj/item/I) //Deconstucts empty borg shell. Flashes remain unbroken because they haven't been used yet var/turf/T = get_turf(src) @@ -292,9 +292,7 @@ if(M.laws.id == DEFAULT_AI_LAWID) O.make_laws() - SSticker.mode.remove_antag_for_borging(BM.mind) - if(!istype(M.laws, /datum/ai_laws/ratvar)) - remove_servant_of_ratvar(BM, TRUE) + BM.mind.remove_antags_for_borging() BM.mind.transfer_to(O) if(O.mind && O.mind.special_role) @@ -312,6 +310,7 @@ qdel(O.mmi) O.mmi = W //and give the real mmi to the borg. O.updatename() + playsound(O.loc, 'sound/voice/liveagain.ogg', 75, TRUE) SSblackbox.record_feedback("amount", "cyborg_birth", 1) forceMove(O) O.robot_suit = src diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 5a8788deba..d8730cc95b 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -8,32 +8,29 @@ icon_state = "cyborg_upgrade" w_class = WEIGHT_CLASS_SMALL var/locked = FALSE - var/installed = 0 - var/require_module = 0 - var/list/module_type + var/installed = FALSE + var/require_module = FALSE + var/list/module_type = null /// Bitflags listing module compatibility. Used in the exosuit fabricator for creating sub-categories. var/module_flags = NONE // if true, is not stored in the robot to be ejected // if module is reset var/one_use = FALSE + /// Means this is a basetype and should not be used + var/abstract_type = /obj/item/borg/upgrade + /// Show the amount of this module that is installed + var/show_amount = FALSE /obj/item/borg/upgrade/proc/action(mob/living/silicon/robot/R, user = usr) if(R.stat == DEAD) - to_chat(user, "[src] will not function on a deceased cyborg.") + to_chat(user, span_warning("[src] will not function on a deceased cyborg!")) return FALSE if(module_type && !is_type_in_list(R.module, module_type)) - to_chat(R, "Upgrade mounting error! No suitable hardpoint detected.") - to_chat(user, "There's no mounting point for the module!") + to_chat(R, span_alert("Upgrade mounting error! No suitable hardpoint detected.")) + to_chat(user, span_warning("There's no mounting point for the module!")) return FALSE return TRUE -/* -This proc gets called by upgrades after installing them. Use this for things that for example need to be moved into a specific borg item, -as performing this in action() will cause the upgrade to end up in the borg instead of its intended location due to forceMove() being called afterwards.. -*/ -/obj/item/borg/upgrade/proc/afterInstall(mob/living/silicon/robot/R, user = usr) - return - /obj/item/borg/upgrade/proc/deactivate(mob/living/silicon/robot/R, user = usr) if (!(src in R.upgrades)) return FALSE @@ -324,12 +321,12 @@ as performing this in action() will cause the upgrade to end up in the borg inst /obj/item/borg/upgrade/lavaproof/action(mob/living/silicon/robot/R, user = usr) . = ..() if(.) - ADD_TRAIT(src, TRAIT_LAVA_IMMUNE, type) + ADD_TRAIT(R, TRAIT_LAVA_IMMUNE, type) /obj/item/borg/upgrade/lavaproof/deactivate(mob/living/silicon/robot/R, user = usr) . = ..() if (.) - REMOVE_TRAIT(src, TRAIT_LAVA_IMMUNE, type) + REMOVE_TRAIT(R, TRAIT_LAVA_IMMUNE, type) /obj/item/borg/upgrade/selfrepair name = "self-repair module" @@ -440,6 +437,7 @@ as performing this in action() will cause the upgrade to end up in the borg inst /obj/item/robot_module/syndicate_medical) var/list/additional_reagents = list() module_flags = BORG_MODULE_MEDICAL + abstract_type = /obj/item/borg/upgrade/hypospray /obj/item/borg/upgrade/hypospray/action(mob/living/silicon/robot/R, user = usr) . = ..() @@ -721,6 +719,6 @@ as performing this in action() will cause the upgrade to end up in the borg inst user.vtec = initial(user.vtec) - maxReduction * 1 action.button_icon_state = "Chevron_State_[currentState]" - action.UpdateButtonIcon() + action.UpdateButtons() return TRUE diff --git a/code/game/objects/items/scrolls.dm b/code/game/objects/items/scrolls.dm index d58f670dc4..f1f9bd0f0b 100644 --- a/code/game/objects/items/scrolls.dm +++ b/code/game/objects/items/scrolls.dm @@ -33,7 +33,7 @@ if (usr.stat || usr.restrained() || src.loc != usr) return if (!ishuman(usr)) - return 1 + return TRUE var/mob/living/carbon/human/H = usr if(H.is_holding(src)) H.set_machine(src) diff --git a/code/game/objects/items/stacks/bscrystal.dm b/code/game/objects/items/stacks/bscrystal.dm index 125065c83e..bcc194154d 100644 --- a/code/game/objects/items/stacks/bscrystal.dm +++ b/code/game/objects/items/stacks/bscrystal.dm @@ -24,7 +24,7 @@ pixel_y = rand(-5, 5) /obj/item/stack/ore/bluespace_crystal/get_part_rating() - return 1 + return TRUE /obj/item/stack/ore/bluespace_crystal/attack_self(mob/user) user.visible_message("[user] crushes [src]!", "You crush [src]!") diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index fd3b79ce94..b7d5cef961 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -216,7 +216,8 @@ /obj/item/stack/medical/gauze/cyborg custom_materials = null - is_cyborg = 1 + is_cyborg = TRUE + source = /datum/robot_energy_storage/medical cost = 250 /obj/item/stack/medical/suture @@ -440,7 +441,8 @@ /obj/item/stack/medical/bone_gel/cyborg custom_materials = null - is_cyborg = 1 + is_cyborg = TRUE + source = /datum/robot_energy_storage/medical cost = 250 /obj/item/stack/medical/aloe diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 08f0a6fb7f..c0fde9ce73 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -39,7 +39,7 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ /obj/item/stack/rods/update_icon_state() var/amount = get_amount() - if(amount <= 5) + if(amount <= 5 && amount >= 1) icon_state = "rods-[amount]" else icon_state = "rods" @@ -76,12 +76,9 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ /obj/item/stack/rods/cyborg custom_materials = null - is_cyborg = 1 - cost = 250 - -/obj/item/stack/rods/cyborg/ComponentInitialize() - . = ..() - AddElement(/datum/element/update_icon_blocker) + is_cyborg = TRUE + source = /datum/robot_energy_storage/medical + cost = MINERAL_MATERIAL_AMOUNT * 0.125 /obj/item/stack/rods/ten amount = 10 diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index bea05f6ef1..929b572e06 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -51,8 +51,9 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ /obj/item/stack/sheet/glass/cyborg custom_materials = null - is_cyborg = 1 - cost = 500 + is_cyborg = TRUE + source = /datum/robot_energy_storage/glass + cost = MINERAL_MATERIAL_AMOUNT * 0.25 /obj/item/stack/sheet/glass/fifty amount = 50 @@ -178,9 +179,16 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ /obj/item/stack/sheet/rglass/cyborg custom_materials = null - var/datum/robot_energy_storage/glasource - var/metcost = 250 - var/glacost = 500 + is_cyborg = TRUE + source = /datum/robot_energy_storage/metal + var/datum/robot_energy_storage/glasource = /datum/robot_energy_storage/glass + var/metcost = MINERAL_MATERIAL_AMOUNT * 0.125 + var/glacost = MINERAL_MATERIAL_AMOUNT * 0.25 + +/obj/item/stack/sheet/rglass/cyborg/prepare_estorage(obj/item/robot_module/module) + . = ..() + if(glasource) + glasource = module.get_or_create_estorage(glasource) /obj/item/stack/sheet/rglass/cyborg/get_amount() return min(round(source.energy / metcost), round(glasource.energy / glacost)) @@ -188,10 +196,12 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ /obj/item/stack/sheet/rglass/cyborg/use(used, transfer = FALSE) // Requires special checks, because it uses two storages source.use_charge(used * metcost) glasource.use_charge(used * glacost) + update_icon() /obj/item/stack/sheet/rglass/cyborg/add(amount) source.add_charge(amount * metcost) glasource.add_charge(amount * glacost) + update_icon() /obj/item/stack/sheet/rglass/get_main_recipes() . = ..() diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 43ed3b9213..745fa6a321 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -163,8 +163,9 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ /obj/item/stack/sheet/metal/cyborg custom_materials = null - is_cyborg = 1 - cost = 500 + is_cyborg = TRUE + source = /datum/robot_energy_storage/metal + cost = MINERAL_MATERIAL_AMOUNT * 0.25 /obj/item/stack/sheet/metal/get_main_recipes() . = ..() @@ -178,7 +179,7 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ * Plasteel */ GLOBAL_LIST_INIT(plasteel_recipes, list ( \ - new/datum/stack_recipe("AI core", /obj/structure/AIcore, 4, time = 50, one_per_turf = TRUE), \ + new/datum/stack_recipe("AI core", /obj/structure/ai_core, 4, time = 50, one_per_turf = TRUE), \ new/datum/stack_recipe("bomb assembly", /obj/machinery/syndicatebomb/empty, 10, time = 50), \ new/datum/stack_recipe("plasteel keg", /obj/structure/custom_keg, 10, time = 50), \ new/datum/stack_recipe("micro powered fan assembly", /obj/machinery/fan_assembly, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \ diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index b2cd0f481b..7eca36247f 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -42,6 +42,12 @@ var/matter_amount = 0 /obj/item/stack/Initialize(mapload, new_amount, merge = TRUE) + if(is_cyborg) + if(!istype(loc, /obj/item/robot_module)) + stack_trace("Cyborg stack created outside of a robot module, deleting.") + return INITIALIZE_HINT_QDEL + prepare_estorage(loc) + if(new_amount != null) amount = new_amount while(amount > max_amount) @@ -132,6 +138,19 @@ else icon_state = "[initial(icon_state)]_3" +/obj/item/stack/update_overlays() + . = ..() + if(isturf(loc)) + return + var/atom/movable/screen/storage/item_holder/holder = locate(/atom/movable/screen/storage/item_holder) in vis_locs + if(holder?.master && istype(holder.master, /datum/component/storage/concrete)) + var/datum/component/storage/concrete/storage = holder.master + if(storage.display_numerical_stacking) + return // It's being handled by the storage we're in, forget about it. + var/mutable_appearance/number = mutable_appearance(appearance_flags = APPEARANCE_UI_IGNORE_ALPHA) + number.maptext = MAPTEXT(get_amount()) + . += number + /obj/item/stack/examine(mob/user) . = ..() if (is_cyborg) @@ -151,6 +170,14 @@ . += "There is [get_amount()] in the stack." . += "Alt-click to take a custom amount." +/obj/item/stack/equipped(mob/user, slot) + . = ..() + update_icon() + +/obj/item/stack/dropped(mob/user, slot) + . = ..() + update_icon() + /obj/item/stack/proc/get_amount() if(is_cyborg) . = round(source?.energy / cost) @@ -358,11 +385,13 @@ return FALSE return TRUE -/obj/item/stack/use(used, transfer = FALSE, check = TRUE) // return 0 = borked; return 1 = had enough +/obj/item/stack/use(used, transfer = FALSE, check = TRUE) // return FALSE = borked; return TRUE = had enough if(check && zero_amount()) return FALSE if (is_cyborg) - return source.use_charge(used * cost) + . = source.use_charge(used * cost) + update_icon() + return if (amount < used) return FALSE amount -= used @@ -465,9 +494,53 @@ return //get amount from user var/max = get_amount() - var/stackmaterial = round(input(user,"How many sheets do you wish to take out of this stack? (Maximum [max])") as null|num) - max = get_amount() - stackmaterial = min(max, stackmaterial) + var/list/quick_split + for(var/option in list(2, 3, 4, 5, 6, 7, "One", "Five", "Ten", "Custom")) + var/mutable_appearance/option_display = new(src) + option_display.filters = null + option_display.cut_overlays() + option_display.pixel_x = 0 + option_display.pixel_y = 0 + + switch(option) + if("Custom") + var/list/sort_numbers = quick_split + sort_numbers = sort_list(sort_numbers, /proc/cmp_numeric_text_desc) + option_display.maptext = MAPTEXT("?") + quick_split = list("Custom" = option_display) + quick_split += sort_numbers + if("One") + option = 1 + option_display.maptext = MAPTEXT("1") + if("Five") + if(max > 5) + option = 5 + option_display.maptext = MAPTEXT("5") + else + continue + if("Ten") + if(max > 10) + option = 10 + option_display.maptext = MAPTEXT("10") + else + continue + else + if(max % option == 0) + option_display.maptext = MAPTEXT(max / option) + option = max / option + else + continue + if(option != "Custom") + LAZYSET(quick_split, "[option]", option_display) + var/stackmaterial + if(length(quick_split) <= 2) + stackmaterial = round(input(user, "How many sheets do you wish to take out of this stack?\nMax: [max]") as null|num) + else + stackmaterial = show_radial_menu(user, get_atom_on_turf(src), quick_split, require_near = TRUE, tooltips = TRUE) + if(stackmaterial == "Custom") + stackmaterial = round(input(user, "How many sheets do you wish to take out of this stack?\nMax: [max]") as null|num) + stackmaterial = isnum(stackmaterial) ? stackmaterial : text2num(stackmaterial) + stackmaterial = min(get_amount(), stackmaterial) if(stackmaterial == null || stackmaterial <= 0 || !user.canUseTopic(src, BE_CLOSE, TRUE, FALSE)) //, !iscyborg(user) return split_stack(user, stackmaterial) @@ -491,7 +564,11 @@ F.forceMove(user.drop_location()) add_fingerprint(user) F.add_fingerprint(user) - zero_amount() + if(!zero_amount()) + var/atom/movable/screen/storage/item_holder/holder = locate(/atom/movable/screen/storage/item_holder) in vis_locs + if(holder?.master && istype(holder.master, /datum/component/storage/concrete)) + var/datum/component/storage/concrete/storage = holder.master + storage.refresh_mob_views() /obj/item/stack/attackby(obj/item/W, mob/user, params) if(can_merge(W)) @@ -514,3 +591,12 @@ /obj/item/stack/microwave_act(obj/machinery/microwave/M) if(istype(M) && M.dirty < 100) M.dirty += amount + +/obj/item/stack/proc/prepare_estorage(obj/item/robot_module/module) + if(source) + source = module.get_or_create_estorage(source) + +/obj/item/stack/Moved(old_loc, dir) + . = ..() + if(isturf(loc)) + update_icon() diff --git a/code/game/objects/items/stacks/tickets.dm b/code/game/objects/items/stacks/tickets.dm index 22cb895277..df040a89c7 100644 --- a/code/game/objects/items/stacks/tickets.dm +++ b/code/game/objects/items/stacks/tickets.dm @@ -11,7 +11,7 @@ . = ..() update_icon() -/obj/item/stack/arcadeticket/update_icon() +/obj/item/stack/arcadeticket/update_icon_state() var/amount = get_amount() if((amount >= 12) && (amount > 0)) icon_state = "arcade-ticket_4" diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 588e066a41..84ccdfb1c5 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -535,8 +535,9 @@ /obj/item/stack/tile/plasteel/cyborg custom_materials = null // All other Borg versions of items have no Metal or Glass - RR - is_cyborg = 1 - cost = 125 + is_cyborg = TRUE + source = /datum/robot_energy_storage/metal + cost = MINERAL_MATERIAL_AMOUNT * 0.0625 /obj/item/stack/tile/material name = "floor tile" diff --git a/code/game/objects/items/stacks/wrap.dm b/code/game/objects/items/stacks/wrap.dm index c969e2d1d4..5fa4537794 100644 --- a/code/game/objects/items/stacks/wrap.dm +++ b/code/game/objects/items/stacks/wrap.dm @@ -40,6 +40,12 @@ resistance_flags = FLAMMABLE grind_results = list(/datum/reagent/cellulose = 5) +/obj/item/stack/packageWrap/cyborg + custom_materials = null + is_cyborg = TRUE + source = /datum/robot_energy_storage/wrapping_paper + cost = 1 + /obj/item/stack/packageWrap/suicide_act(mob/living/user) user.visible_message("[user] begins wrapping [user.p_them()]self in \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") if(use(3)) @@ -53,16 +59,16 @@ return SHAME /obj/item/proc/can_be_package_wrapped() //can the item be wrapped with package wrapper into a delivery package - return 1 + return TRUE /obj/item/storage/can_be_package_wrapped() - return 0 + return FALSE /obj/item/storage/box/can_be_package_wrapped() - return 1 + return TRUE /obj/item/smallDelivery/can_be_package_wrapped() - return 0 + return FALSE /obj/item/stack/packageWrap/afterattack(obj/target, mob/user, proximity) . = ..() diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm index 91c18a5941..569004177a 100644 --- a/code/game/objects/items/storage/book.dm +++ b/code/game/objects/items/storage/book.dm @@ -25,7 +25,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", var/obj/item/storage/book/bible/B = locate() in src if(is_holding(B)) return B - return 0 + return FALSE /obj/item/storage/book/bible name = "bible" @@ -105,7 +105,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", var/obj/item/bodypart/BP = X if(BP.is_robotic_limb()) to_chat(user, "[src.deity_name] refuses to heal this metallic taint!") - return 0 + return FALSE var/heal_amt = 5 var/list/hurt_limbs = H.get_damaged_bodyparts(1, 1) @@ -119,7 +119,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", to_chat(H, "May the power of [deity_name] compel you to be healed!") playsound(src.loc, "punch", 25, 1, -1) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "blessing", /datum/mood_event/blessing) - return 1 + return TRUE /obj/item/storage/book/bible/attack(mob/living/M, mob/living/user, attackchain_flags = NONE, damage_multiplier = 1, heal_mode = TRUE) diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 9530a580cb..e5de4570a5 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -73,7 +73,7 @@ /obj/item/storage/box/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/stack/packageWrap)) - return 0 + return FALSE return ..() //Disk boxes @@ -886,7 +886,7 @@ /obj/item/storage/box/papersack/Initialize(mapload) . = ..() - papersack_designs = sortList(list( + papersack_designs = sort_list(list( "None" = image(icon = src.icon, icon_state = "paperbag_None"), "NanotrasenStandard" = image(icon = src.icon, icon_state = "paperbag_NanotrasenStandard"), "SyndiSnacks" = image(icon = src.icon, icon_state = "paperbag_SyndiSnacks"), diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index f4b5e26189..bbcdf5b2b9 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -85,10 +85,10 @@ new /obj/item/implanter/stealth(src) if("hacker") // 30 tc - new /obj/item/aiModule/syndicate(src) + new /obj/item/ai_module/syndicate(src) new /obj/item/card/emag(src) new /obj/item/encryptionkey/binary(src) - new /obj/item/aiModule/toyAI(src) + new /obj/item/ai_module/toyAI(src) new /obj/item/multitool/ai_detect(src) new /obj/item/flashlight/emp(src) new /obj/item/emagrecharge(src) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 7d84d38624..46e0c66953 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -61,9 +61,10 @@ /obj/item/melee/baton/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) ..() + var/mob/thrown_by = thrownby?.resolve() //Only mob/living types have stun handling - if(turned_on && prob(throw_hit_chance) && iscarbon(hit_atom) && thrownby) - baton_stun(hit_atom, thrownby, shoving = TRUE) + if(turned_on && prob(throw_hit_chance) && iscarbon(hit_atom) && thrown_by) + baton_stun(hit_atom, thrown_by, shoving = TRUE) /obj/item/melee/baton/loaded //this one starts with a cell pre-installed. preload_cell_type = /obj/item/stock_parts/cell/high/plus @@ -387,8 +388,9 @@ /obj/item/melee/baton/boomerang/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) if(turned_on) var/caught = hit_atom.hitby(src, FALSE, FALSE, throwingdatum=throwingdatum) - if(ishuman(hit_atom) && !caught && prob(throw_hit_chance) && thrownby)//if they are a carbon and they didn't catch it - baton_stun(hit_atom, thrownby, shoving = TRUE) + var/mob/thrown_by = thrownby?.resolve() + if(ishuman(hit_atom) && !caught && prob(throw_hit_chance) && thrown_by)//if they are a carbon and they didn't catch it + baton_stun(hit_atom, thrown_by, shoving = TRUE) if(thrownby && !caught) throw_back() else @@ -397,8 +399,9 @@ /obj/item/melee/baton/boomerang/proc/throw_back() set waitfor = FALSE sleep(1) + var/mob/thrown_by = thrownby?.resolve() if(!QDELETED(src)) - throw_at(thrownby, throw_range+2, throw_speed, null, TRUE) + throw_at(thrown_by, throw_range+2, throw_speed, null, TRUE) /obj/item/melee/baton/boomerang/update_icon() if(turned_on) diff --git a/code/game/objects/items/summon.dm b/code/game/objects/items/summon.dm index b31cc7cbd6..6de3d80a82 100644 --- a/code/game/objects/items/summon.dm +++ b/code/game/objects/items/summon.dm @@ -431,7 +431,7 @@ src.rotation = rotation // end animations animate(atom, time = 0, flags = ANIMATION_END_NOW) - return 0 + return FALSE // grab source var/rel_x = (destination.x - relative_to.x) * world.icon_size + src.dist * sin(src.angle) @@ -458,7 +458,7 @@ /datum/summon_weapon/proc/Rotate(degrees, time, rotation) . = time if(!dist) - return 0 + return FALSE var/matrix/M = ConstructMatrix(angle + degrees, dist, rotation || src.rotation) if(rotation) src.rotation = rotation diff --git a/code/game/objects/items/tanks/jetpack.dm b/code/game/objects/items/tanks/jetpack.dm index 6a130acce6..a091993ff1 100644 --- a/code/game/objects/items/tanks/jetpack.dm +++ b/code/game/objects/items/tanks/jetpack.dm @@ -50,7 +50,7 @@ to_chat(user, "You turn the jetpack off.") for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon() + A.UpdateButtons() /obj/item/tank/jetpack/proc/turn_on(mob/user) on = TRUE diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index 7804abdc91..ad18d1049e 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -247,19 +247,19 @@ air_contents.merge(giver) check_status() - return 1 + return TRUE /obj/item/tank/assume_air_moles(datum/gas_mixture/giver, moles) giver.transfer_to(air_contents, moles) check_status() - return 1 + return TRUE /obj/item/tank/assume_air_ratio(datum/gas_mixture/giver, ratio) giver.transfer_ratio_to(air_contents, ratio) check_status() - return 1 + return TRUE /obj/item/tank/proc/remove_air_volume(volume_to_return) if(!air_contents) @@ -281,7 +281,7 @@ //Handle exploding, leaking, and rupturing of the tank if(!air_contents) - return 0 + return FALSE var/pressure = air_contents.return_pressure() var/temperature = air_contents.return_temperature() diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm index 188a8763cd..db895bbcd7 100644 --- a/code/game/objects/items/tanks/watertank.dm +++ b/code/game/objects/items/tanks/watertank.dm @@ -26,7 +26,7 @@ /obj/item/watertank/item_action_slot_check(slot, mob/user, datum/action/A) if(slot == user.getBackSlot()) - return 1 + return TRUE /obj/item/watertank/proc/toggle_mister(mob/living/user) if(!istype(user)) @@ -88,7 +88,7 @@ /obj/item/watertank/attackby(obj/item/W, mob/user, params) if(W == noz) remove_noz() - return 1 + return TRUE else return ..() @@ -349,7 +349,7 @@ /obj/item/reagent_containers/chemtank/item_action_slot_check(slot, mob/user, datum/action/A) if(slot == ITEM_SLOT_BACK) - return 1 + return TRUE /obj/item/reagent_containers/chemtank/proc/toggle_injection() var/mob/living/carbon/human/user = usr diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 5bd7217484..0c8e0db987 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -212,8 +212,8 @@ if(get_fuel() <= 0 && welding) switched_on(user) update_icon() - return 0 - return 1 + return FALSE + return TRUE //Switches the welder on /obj/item/weldingtool/proc/switched_on(mob/user) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 92c1351fde..b05abdc49a 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -160,10 +160,10 @@ if(istype(A, /obj/item/toy/ammo/gun)) if (src.bullets >= 7) to_chat(user, "It's already fully loaded!") - return 1 + return TRUE if (A.amount_left <= 0) to_chat(user, "There are no more caps!") - return 1 + return TRUE if (A.amount_left < (7 - src.bullets)) src.bullets += A.amount_left to_chat(user, text("You reload [] cap\s.", A.amount_left)) @@ -173,7 +173,7 @@ A.amount_left -= 7 - src.bullets src.bullets = 7 A.update_icon() - return 1 + return TRUE else return ..() diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 71aafe9a1e..831041db91 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -23,12 +23,12 @@ //returns the damage value of the attack after processing the obj's various armor protections /obj/proc/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir, armour_penetration = 0) if(damage_flag == MELEE && damage_amount < damage_deflection) // TODO: Refactor armor datums and types entirely jfc - return 0 + return FALSE switch(damage_type) if(BRUTE) if(BURN) else - return 0 + return FALSE var/armor_protection = 0 if(damage_flag) armor_protection = armor.getRating(damage_flag) @@ -107,8 +107,8 @@ else playsound(src, 'sound/effects/bang.ogg', 50, 1) take_damage(hulk_damage(), BRUTE, MELEE, 0, get_dir(src, user)) - return 1 - return 0 + return TRUE + return FALSE /obj/blob_act(obj/structure/blob/B) if(isturf(loc)) @@ -135,7 +135,7 @@ return if(!M.melee_damage_upper && !M.obj_damage) M.emote("custom", message = "[M.friendly_verb_continuous] [src].") - return 0 + return FALSE else var/play_soundeffect = 1 if(M.environment_smash) @@ -187,7 +187,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e /obj/acid_act(acidpwr, acid_volume) if(!(resistance_flags & UNACIDABLE) && acid_volume) AddComponent(/datum/component/acid, acidpwr, acid_volume) - return 1 + return TRUE //called when the obj is destroyed by acid. /obj/proc/acid_melt() @@ -201,7 +201,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e if(acid) return acid.level else - return 0 + return FALSE //// FIRE @@ -216,7 +216,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e resistance_flags |= ON_FIRE SSfire_burning.processing[src] = src update_icon() - return 1 + return TRUE //called when the obj is destroyed by fire /obj/proc/burn() @@ -232,7 +232,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e /obj/zap_act(power, zap_flags, shocked_targets) if(QDELETED(src)) - return 0 + return FALSE obj_flags |= BEING_SHOCKED addtimer(CALLBACK(src, PROC_REF(reset_shocked)), 10) return power / 2 diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index cfe1afad5a..10b8c04367 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -271,7 +271,7 @@ . = !density /obj/proc/check_uplink_validity() - return 1 + return TRUE /obj/vv_get_dropdown() . = ..() diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm index 85ee3f9f56..9d34e5e659 100644 --- a/code/game/objects/structures/ai_core.dm +++ b/code/game/objects/structures/ai_core.dm @@ -1,4 +1,6 @@ -/obj/structure/AIcore +#define AI_CORE_BRAIN(X) X.braintype == "Android" ? "brain" : "MMI" + +/obj/structure/ai_core density = TRUE anchored = FALSE name = "\improper AI core" @@ -8,28 +10,76 @@ max_integrity = 500 var/state = 0 var/datum/ai_laws/laws - var/obj/item/circuitboard/circuit = null - var/obj/item/mmi/brain = null - var/can_deconstruct = TRUE + var/obj/item/circuitboard/aicore/circuit = null + var/obj/item/mmi/core_mmi -/obj/structure/AIcore/Initialize(mapload) +/obj/structure/ai_core/Initialize(mapload) . = ..() laws = new laws.set_laws_config() -/obj/structure/AIcore/Destroy() - if(circuit) - qdel(circuit) +/obj/structure/ai_core/examine(mob/user) + . = ..() + if(!anchored) + if(state != EMPTY_CORE) + . += span_notice("It has some bolts that could be tightened.") + else + . += span_notice("It has some bolts that could be tightened. The frame can be melted down.") + else + switch(state) + if(EMPTY_CORE) + . += span_notice("There is a slot for a circuit board, its bolts can be loosened.") + if(CIRCUIT_CORE) + . += span_notice("The circuit board can be screwed into place or pried out.") + if(SCREWED_CORE) + . += span_notice("The frame can be wired, the circuit board can be unfastened.") + if(CABLED_CORE) + if(!core_mmi) + . += span_notice("There are wires which could be hooked up to an MMI or positronic brain, or cut.") + else + var/accept_laws = TRUE + if(core_mmi.laws.id != DEFAULT_AI_LAWID || !core_mmi.brainmob || !core_mmi.brainmob?.mind) + accept_laws = FALSE + . += span_notice("There is a slot for a reinforced glass panel, the [AI_CORE_BRAIN(core_mmi)] could be pried out.[accept_laws ? " A law module can be swiped across." : ""]") + if(GLASS_CORE) + . += span_notice("The monitor [core_mmi?.brainmob?.mind && !core_mmi?.brainmob?.suiciding ? "and neural interface " : ""]can be screwed in, the panel can be pried out.") + if(AI_READY_CORE) + . += span_notice("The monitor's connection can be cut[core_mmi?.brainmob?.mind && !core_mmi?.brainmob?.suiciding ? " the neural interface can be screwed in." : "."]") + +/obj/structure/ai_core/handle_atom_del(atom/A) + if(A == circuit) circuit = null - if(brain) - qdel(brain) - brain = null + if((state != GLASS_CORE) && (state != AI_READY_CORE)) + state = EMPTY_CORE + update_appearance() + if(A == core_mmi) + core_mmi = null return ..() -/obj/structure/AIcore/latejoin_inactive - name = "Networked AI core" +/obj/structure/ai_core/Destroy() + QDEL_NULL(circuit) + QDEL_NULL(core_mmi) + QDEL_NULL(laws) + return ..() + +/obj/structure/ai_core/deactivated + icon_state = "ai-empty" + anchored = TRUE + state = AI_READY_CORE + +/obj/structure/ai_core/deactivated/Initialize(mapload, posibrain = FALSE) + . = ..() + circuit = new(src) + if(posibrain) + core_mmi = new/obj/item/mmi/posibrain(src) + else + core_mmi = new(src) + core_mmi.brain = new(core_mmi) + core_mmi.update_appearance() + +/obj/structure/ai_core/latejoin_inactive + name = "networked AI core" desc = "This AI core is connected by bluespace transmitters to NTNet, allowing for an AI personality to be downloaded to it on the fly mid-shift." - can_deconstruct = FALSE icon_state = "ai-empty" anchored = TRUE state = AI_READY_CORE @@ -37,11 +87,24 @@ var/safety_checks = TRUE var/active = TRUE -/obj/structure/AIcore/latejoin_inactive/examine(mob/user) +/obj/structure/ai_core/latejoin_inactive/Initialize(mapload) . = ..() - . += "Its transmitter seems to be [active? "on" : "off"]." + circuit = new(src) + core_mmi = new(src) + core_mmi.brain = new(core_mmi) + core_mmi.update_appearance() + GLOB.latejoin_ai_cores += src -/obj/structure/AIcore/latejoin_inactive/proc/is_available() //If people still manage to use this feature to spawn-kill AI latejoins ahelp them. +/obj/structure/ai_core/latejoin_inactive/Destroy() + GLOB.latejoin_ai_cores -= src + return ..() + +/obj/structure/ai_core/latejoin_inactive/examine(mob/user) + . = ..() + . += "Its transmitter seems to be [active? "on" : "off"]." + . += span_notice("You could [active? "deactivate" : "activate"] it with a multitool.") + +/obj/structure/ai_core/latejoin_inactive/proc/is_available() //If people still manage to use this feature to spawn-kill AI latejoins ahelp them. if(!available) return FALSE if(!safety_checks) @@ -56,42 +119,61 @@ return FALSE if(!SSmapping.level_trait(T.z,ZTRAIT_STATION)) return FALSE - if(!istype(T, /turf/open/floor)) + if(!isfloorturf(T)) return FALSE return TRUE -/obj/structure/AIcore/latejoin_inactive/attackby(obj/item/P, mob/user, params) +/obj/structure/ai_core/latejoin_inactive/attackby(obj/item/P, mob/user, params) if(P.tool_behaviour == TOOL_MULTITOOL) active = !active to_chat(user, "You [active? "activate" : "deactivate"] [src]'s transmitters.") return return ..() -/obj/structure/AIcore/latejoin_inactive/Initialize(mapload) +/obj/structure/ai_core/wrench_act(mob/living/user, obj/item/tool) . = ..() - GLOB.latejoin_ai_cores += src + default_unfasten_wrench(user, tool) + return TRUE -/obj/structure/AIcore/latejoin_inactive/Destroy() - GLOB.latejoin_ai_cores -= src - return ..() +/obj/structure/ai_core/screwdriver_act(mob/living/user, obj/item/tool) + . = ..() + if(state == AI_READY_CORE) + if(!core_mmi) + balloon_alert(user, "no brain installed!") + return TRUE + else if(!core_mmi.brainmob?.mind || core_mmi.brainmob?.suiciding) + balloon_alert(user, "brain is inactive!") + return TRUE + else + balloon_alert(user, "connecting neural network...") + if(!tool.use_tool(src, user, 10 SECONDS)) + return TRUE + if(!ai_structure_to_mob()) + return TRUE + balloon_alert(user, "connected neural network") + return TRUE -/obj/structure/AIcore/attackby(obj/item/P, mob/user, params) - if(P.tool_behaviour == TOOL_WRENCH) - return default_unfasten_wrench(user, P, 20) +/obj/structure/ai_core/attackby(obj/item/P, mob/user, params) if(!anchored) - if(P.tool_behaviour == TOOL_WELDER && can_deconstruct) + if(P.tool_behaviour == TOOL_WELDER) if(state != EMPTY_CORE) - to_chat(user, "The core must be empty to deconstruct it!") + balloon_alert(user, "core must be empty to deconstruct it!") return if(!P.tool_start_check(user, amount=0)) return - to_chat(user, "You start to deconstruct the frame...") + balloon_alert(user, "deconstructing frame...") if(P.use_tool(src, user, 20, volume=50) && state == EMPTY_CORE) - to_chat(user, "You deconstruct the frame.") + balloon_alert(user, "deconstructed frame") deconstruct(TRUE) return + else + if(user.a_intent != INTENT_HARM) + balloon_alert(user, "bolt it down first!") + return + else + return ..() else switch(state) if(EMPTY_CORE) @@ -99,7 +181,7 @@ if(!user.transferItemToLoc(P, src)) return playsound(loc, 'sound/items/deconstruct.ogg', 50, 1) - to_chat(user, "You place the circuit board inside the frame.") + balloon_alert(user, "circuit board inserted") update_icon() state = CIRCUIT_CORE circuit = P @@ -107,13 +189,13 @@ if(CIRCUIT_CORE) if(P.tool_behaviour == TOOL_SCREWDRIVER) P.play_tool_sound(src) - to_chat(user, "You screw the circuit board into place.") + balloon_alert(user, "board screwed into place") state = SCREWED_CORE update_icon() return if(P.tool_behaviour == TOOL_CROWBAR) P.play_tool_sound(src) - to_chat(user, "You remove the circuit board.") + balloon_alert(user, "circuit board removed") state = EMPTY_CORE update_icon() circuit.forceMove(loc) @@ -122,7 +204,7 @@ if(SCREWED_CORE) if(P.tool_behaviour == TOOL_SCREWDRIVER && circuit) P.play_tool_sound(src) - to_chat(user, "You unfasten the circuit board.") + balloon_alert(user, "circuit board unfastened") state = CIRCUIT_CORE update_icon() return @@ -130,61 +212,73 @@ var/obj/item/stack/cable_coil/C = P if(C.get_amount() >= 5) playsound(loc, 'sound/items/deconstruct.ogg', 50, 1) - to_chat(user, "You start to add cables to the frame...") - if(do_after(user, 20, target = src) && state == SCREWED_CORE && C.use_tool(src, user, 0, 5)) - to_chat(user, "You add cables to the frame.") + balloon_alert(user, "adding cables to frame...") + if(do_after(user, 20, target = src) && state == SCREWED_CORE && C.use(5)) + balloon_alert(user, "added cables to frame.") state = CABLED_CORE update_icon() else - to_chat(user, "You need five lengths of cable to wire the AI core!") + balloon_alert(user, "need five lengths of cable!") return if(CABLED_CORE) if(P.tool_behaviour == TOOL_WIRECUTTER) - if(brain) - to_chat(user, "Get that [brain.name] out of there first!") + if(core_mmi) + balloon_alert(user, "remove the [AI_CORE_BRAIN(core_mmi)] first!") else P.play_tool_sound(src) - to_chat(user, "You remove the cables.") + balloon_alert(user, "cables removed") state = SCREWED_CORE update_icon() new /obj/item/stack/cable_coil(drop_location(), 5) return if(istype(P, /obj/item/stack/sheet/rglass)) + if(!core_mmi) + balloon_alert(user, "add a brain first!") + return var/obj/item/stack/sheet/rglass/G = P if(G.get_amount() >= 2) playsound(loc, 'sound/items/deconstruct.ogg', 50, 1) - to_chat(user, "You start to put in the glass panel...") + balloon_alert(user, "adding glass panel...") if(do_after(user, 20, target = src) && state == CABLED_CORE && G.use(2)) - to_chat(user, "You put in the glass panel.") + balloon_alert(user, "added glass panel") state = GLASS_CORE update_icon() else - to_chat(user, "You need two sheets of reinforced glass to insert them into the AI core!") + balloon_alert(user, "need two sheets of reinforced glass!") return - if(istype(P, /obj/item/aiModule)) - if(brain && brain.laws.id != DEFAULT_AI_LAWID) - to_chat(user, "The installed [brain.name] already has set laws!") + if(istype(P, /obj/item/ai_module)) + if(!core_mmi) + balloon_alert(user, "no brain installed!") return - var/obj/item/aiModule/module = P + if(!core_mmi.brainmob || !core_mmi.brainmob?.mind || core_mmi.brainmob?.suiciding) + balloon_alert(user, "[AI_CORE_BRAIN(core_mmi)] is inactive!") + return + if(core_mmi.laws.id != DEFAULT_AI_LAWID) + balloon_alert(user, "[AI_CORE_BRAIN(core_mmi)] already has set laws!") + return + var/obj/item/ai_module/module = P module.install(laws, user) return - if(istype(P, /obj/item/mmi) && !brain) + if(istype(P, /obj/item/mmi) && !core_mmi) var/obj/item/mmi/M = P - if(!M.brainmob) - to_chat(user, "Sticking an empty [M.name] into the frame would sort of defeat the purpose!") - return - if(M.brainmob.stat == DEAD) - to_chat(user, "Sticking a dead [M.name] into the frame would sort of defeat the purpose!") - return + if(!M.brain_check(user)) + var/install = tgui_alert(user, "This [AI_CORE_BRAIN(M)] is inactive, would you like to make an inactive AI?", "Installing AI [AI_CORE_BRAIN(M)]", list("Yes", "No")) + if(install != "Yes") + return + if(M.brainmob?.suiciding) + to_chat(user, span_warning("[M.name] is completely useless!")) + return + if(!user.transferItemToLoc(M, src)) + return + core_mmi = M + balloon_alert(user, "added [AI_CORE_BRAIN(core_mmi)] to frame") + update_appearance() - if(!M.brainmob.client) - to_chat(user, "Sticking an inactive [M.name] into the frame would sort of defeat the purpose.") - return - - if(!CONFIG_GET(flag/allow_ai) || (jobban_isbanned(M.brainmob, "AI") && !QDELETED(src) && !QDELETED(user) && !QDELETED(M) && !QDELETED(user) && Adjacent(user))) + var/mob/living/brain/B = M.brainmob + if(!CONFIG_GET(flag/allow_ai) || (jobban_isbanned(B, "AI") && !QDELETED(src) && !QDELETED(user) && !QDELETED(M) && !QDELETED(user) && Adjacent(user))) if(!QDELETED(M)) to_chat(user, "This [M.name] does not seem to fit!") return @@ -196,47 +290,36 @@ if(!user.transferItemToLoc(M,src)) return - brain = M - to_chat(user, "You add [M.name] to the frame.") + core_mmi = M + balloon_alert(user, "added [AI_CORE_BRAIN(core_mmi)] to frame") update_icon() return - if(P.tool_behaviour == TOOL_CROWBAR && brain) + if(P.tool_behaviour == TOOL_CROWBAR && core_mmi) P.play_tool_sound(src) - to_chat(user, "You remove the brain.") - brain.forceMove(loc) - brain = null + balloon_alert(user, "removed [AI_CORE_BRAIN(core_mmi)]") + core_mmi.forceMove(loc) + core_mmi = null update_icon() return if(GLASS_CORE) if(P.tool_behaviour == TOOL_CROWBAR) P.play_tool_sound(src) - to_chat(user, "You remove the glass panel.") + balloon_alert(user, "removed glass panel") state = CABLED_CORE update_icon() new /obj/item/stack/sheet/rglass(loc, 2) return if(P.tool_behaviour == TOOL_SCREWDRIVER) + if(core_mmi?.brainmob?.suiciding) + to_chat(user, span_warning("The brain installed is completely useless.")) + return P.play_tool_sound(src) - to_chat(user, "You connect the monitor.") - if(brain) - SSticker.mode.remove_antag_for_borging(brain.brainmob.mind) - if(!istype(brain.laws, /datum/ai_laws/ratvar)) - remove_servant_of_ratvar(brain.brainmob, TRUE) - - var/mob/living/silicon/ai/A = null - - if (brain.overrides_aicore_laws) - A = new /mob/living/silicon/ai(loc, brain.laws, brain.brainmob) - else - A = new /mob/living/silicon/ai(loc, laws, brain.brainmob) - - if(brain.force_replace_ai_name) - A.fully_replace_character_name(A.name, brain.replacement_ai_name()) - SSblackbox.record_feedback("amount", "ais_created", 1) - qdel(src) + balloon_alert(user, "connected monitor[core_mmi?.brainmob?.mind ? " and neural network" : ""]") + if(core_mmi.brainmob?.mind) + ai_structure_to_mob() else state = AI_READY_CORE update_icon() @@ -247,15 +330,39 @@ P.transfer_ai("INACTIVE", "AICARD", src, user) return - if(P.tool_behaviour == TOOL_SCREWDRIVER) + if(P.tool_behaviour == TOOL_WIRECUTTER) P.play_tool_sound(src) - to_chat(user, "You disconnect the monitor.") + balloon_alert(user, "disconnected monitor") state = GLASS_CORE update_icon() return return ..() -/obj/structure/AIcore/update_icon_state() +/obj/structure/ai_core/proc/ai_structure_to_mob() + var/mob/living/brain/the_brainmob = core_mmi.brainmob + if(!the_brainmob.mind || the_brainmob.suiciding) + return FALSE + the_brainmob.mind.remove_antags_for_borging() + if(!the_brainmob.mind.has_ever_been_ai) + SSblackbox.record_feedback("amount", "ais_created", 1) + var/mob/living/silicon/ai/ai_mob = null + + if(core_mmi.overrides_aicore_laws) + ai_mob = new /mob/living/silicon/ai(loc, core_mmi.laws, the_brainmob) + core_mmi.laws = null //MMI's law datum is being donated, so we need the MMI to let it go or the GC will eat it + else + ai_mob = new /mob/living/silicon/ai(loc, laws, the_brainmob) + laws = null //we're giving the new AI this datum, so let's not delete it when we qdel(src) 5 lines from now + + if(core_mmi.force_replace_ai_name) + ai_mob.fully_replace_character_name(ai_mob.name, core_mmi.replacement_ai_name()) + if(core_mmi.braintype == "Android") + ai_mob.posibrain_inside = TRUE + deadchat_broadcast(" has been brought online at [get_area_name(ai_mob, format_text = TRUE)].", span_name("[ai_mob]"), follow_target = ai_mob, message_type = DEADCHAT_ANNOUNCEMENT) + qdel(src) + return TRUE + +/obj/structure/ai_core/update_icon_state() switch(state) if(EMPTY_CORE) icon_state = "0" @@ -264,7 +371,7 @@ if(SCREWED_CORE) icon_state = "2" if(CABLED_CORE) - if(brain) + if(core_mmi) icon_state = "3b" else icon_state = "3" @@ -273,8 +380,8 @@ if(AI_READY_CORE) icon_state = "ai-empty" -/obj/structure/AIcore/deconstruct(disassembled = TRUE) - if(state == GLASS_CORE) +/obj/structure/ai_core/deconstruct(disassembled = TRUE) + if(state >= GLASS_CORE) new /obj/item/stack/sheet/rglass(loc, 2) if(state >= CABLED_CORE) new /obj/item/stack/cable_coil(loc, 5) @@ -284,13 +391,13 @@ new /obj/item/stack/sheet/plasteel(loc, 4) qdel(src) -/obj/structure/AIcore/deactivated +/obj/structure/ai_core/deactivated name = "inactive AI" icon_state = "ai-empty" anchored = TRUE state = AI_READY_CORE -/obj/structure/AIcore/deactivated/New() +/obj/structure/ai_core/deactivated/New() ..() circuit = new(src) @@ -307,23 +414,38 @@ That prevents a few funky behaviors. if(istype(card)) if(card.flush) to_chat(user, "ERROR: AI flush is in progress, cannot execute transfer protocol.") - return 0 - return 1 + return FALSE + return TRUE -/obj/structure/AIcore/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card) +/obj/structure/ai_core/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card) if(state != AI_READY_CORE || !..()) return - //Transferring a carded AI to a core. + if(core_mmi && core_mmi.brainmob) + if(core_mmi.brainmob.mind) + to_chat(user, span_warning("[src] already contains an active mind!")) + return + else if(core_mmi.brainmob.suiciding) + to_chat(user, span_warning("[AI_CORE_BRAIN(core_mmi)] installed in [src] is completely useless!")) + return + //Transferring a carded AI to a core. if(interaction == AI_TRANS_FROM_CARD) - AI.control_disabled = 0 - AI.radio_enabled = 1 + AI.control_disabled = FALSE + AI.radio_enabled = TRUE AI.forceMove(loc) // to replace the terminal. - to_chat(AI, "You have been uploaded to a stationary terminal. Remote device connection restored.") - to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.") + to_chat(AI, span_notice("You have been uploaded to a stationary terminal. Remote device connection restored.")) + to_chat(user, "[span_boldnotice("Transfer successful")]: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.") card.AI = null + AI.battery = circuit.battery + if(core_mmi.braintype == "Android") + AI.posibrain_inside = TRUE + else + AI.posibrain_inside = FALSE qdel(src) else //If for some reason you use an empty card on an empty AI terminal. - to_chat(user, "There is no AI loaded on this terminal!") + to_chat(user, span_alert("There is no AI loaded on this terminal.")) /obj/item/circuitboard/aicore name = "AI core (AI Core Board)" //Well, duh, but best to be consistent + var/battery = 200 //backup battery for when the AI loses power. Copied to/from AI mobs when carding, and placed here to avoid recharge via deconning the core + +#undef AI_CORE_BRAIN diff --git a/code/game/objects/structures/beds_chairs/alien_nest.dm b/code/game/objects/structures/beds_chairs/alien_nest.dm index eff87d3955..762331c40e 100644 --- a/code/game/objects/structures/beds_chairs/alien_nest.dm +++ b/code/game/objects/structures/beds_chairs/alien_nest.dm @@ -48,7 +48,7 @@ unbuckle_mob(M) add_fingerprint(user) -/obj/structure/bed/nest/user_buckle_mob(mob/living/M, mob/living/carbon/user) +/obj/structure/bed/nest/user_buckle_mob(mob/living/M, mob/living/carbon/user, check_loc) if ( !ismob(M) || (get_dist(src, user) > 1) || (M.loc != src.loc) || !user.cuff_resist_check() || M.buckled ) return diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm index 8f5e1c5079..5ed8c8ee02 100644 --- a/code/game/objects/structures/beds_chairs/bed.dm +++ b/code/game/objects/structures/beds_chairs/bed.dm @@ -87,7 +87,7 @@ R.loaded = src forceMove(R) user.visible_message("[user] collects [src].", "You collect [src].") - return 1 + return TRUE else return ..() @@ -95,9 +95,9 @@ . = ..() if(over_object == usr && Adjacent(usr)) if(!ishuman(usr) || !usr.canUseTopic(src, BE_CLOSE)) - return 0 + return FALSE if(has_buckled_mobs()) - return 0 + return FALSE usr.visible_message("[usr] collapses \the [src.name].", "You collapse \the [src.name].") var/obj/structure/bed/roller/B = new foldabletype(get_turf(src)) usr.put_in_hands(B) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index c80405872f..0176abd505 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -269,7 +269,7 @@ if(user in src) return if(src.tool_interact(W,user)) - return 1 // No afterattack + return TRUE // No afterattack else return ..() @@ -396,7 +396,7 @@ close() else O.forceMove(T) - return 1 + return TRUE /obj/structure/closet/relaymove(mob/living/user, direction) if(user.stat || !isturf(loc)) diff --git a/code/game/objects/structures/crates_lockers/closets/bodybag.dm b/code/game/objects/structures/crates_lockers/closets/bodybag.dm index 09441a577e..8cf85d7f1e 100644 --- a/code/game/objects/structures/crates_lockers/closets/bodybag.dm +++ b/code/game/objects/structures/crates_lockers/closets/bodybag.dm @@ -46,8 +46,8 @@ /obj/structure/closet/body_bag/close() if(..()) density = FALSE - return 1 - return 0 + return TRUE + return FALSE /obj/structure/closet/body_bag/handle_lock_addition() return @@ -59,11 +59,11 @@ . = ..() if(over_object == usr && Adjacent(usr) && (in_range(src, usr) || usr.contents.Find(src))) if(!ishuman(usr)) - return 0 + return FALSE if(opened) - return 0 + return FALSE if(contents.len) - return 0 + return FALSE visible_message("[usr] folds up [src].") var/obj/item/bodybag/B = new foldedbag_path(get_turf(src)) usr.put_in_hands(B) @@ -83,15 +83,15 @@ . = ..() if(over_object == usr && Adjacent(usr) && (in_range(src, usr) || usr.contents.Find(src))) if(!ishuman(usr)) - return 0 + return FALSE if(opened) - return 0 + return FALSE if(contents.len >= mob_storage_capacity / 2) to_chat(usr, "There are too many things inside of [src] to fold it up!") - return 0 + return FALSE for(var/obj/item/bodybag/bluespace/B in src) to_chat(usr, "You can't recursively fold bluespace body bags!" ) - return 0 + return FALSE visible_message("[usr] folds up [src].") var/obj/item/bodybag/B = new foldedbag_path(get_turf(src)) usr.put_in_hands(B) diff --git a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm index a5853f769e..14d28b17d3 100644 --- a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm +++ b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm @@ -35,7 +35,7 @@ /obj/structure/closet/cardboard/open() if(opened || !can_open()) - return 0 + return FALSE var/list/alerted = null if(egged < world.time) var/mob/living/Snake = null diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm index 22996339ef..ef0dd5f2d5 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm @@ -10,7 +10,7 @@ /obj/structure/closet/secure_closet/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) if(damage_flag == MELEE && damage_amount < melee_min_damage) - return 0 + return FALSE . = ..() // Exists to work around the minimum 700 cr price for goodies / small items / materials diff --git a/code/game/objects/structures/crates_lockers/crates/large.dm b/code/game/objects/structures/crates_lockers/crates/large.dm index c376e63880..bc024202a9 100644 --- a/code/game/objects/structures/crates_lockers/crates/large.dm +++ b/code/game/objects/structures/crates_lockers/crates/large.dm @@ -34,7 +34,7 @@ qdel(src) else - if(user.a_intent == INTENT_HARM) //Only return ..() if intent is harm, otherwise return 0 or just end it. + if(user.a_intent == INTENT_HARM) //Only return ..() if intent is harm, otherwise return FALSE or just end it. return ..() //Stops it from opening and turning invisible when items are used on it. else diff --git a/code/game/objects/structures/crates_lockers/crates/secure.dm b/code/game/objects/structures/crates_lockers/crates/secure.dm index e60454a7ce..887ca6d09b 100644 --- a/code/game/objects/structures/crates_lockers/crates/secure.dm +++ b/code/game/objects/structures/crates_lockers/crates/secure.dm @@ -10,7 +10,7 @@ /obj/structure/closet/crate/secure/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) if(damage_flag == MELEE && damage_amount < 25) - return 0 + return FALSE . = ..() /obj/structure/closet/crate/secure/update_overlays() diff --git a/code/game/objects/structures/destructible_structures.dm b/code/game/objects/structures/destructible_structures.dm index cfed4561d4..de55ab8cb4 100644 --- a/code/game/objects/structures/destructible_structures.dm +++ b/code/game/objects/structures/destructible_structures.dm @@ -16,4 +16,4 @@ if(break_sound) playsound(src, break_sound, 50, 1) qdel(src) - return 1 + return TRUE diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index 90224af8cc..d5efe63bb9 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -753,7 +753,7 @@ /datum/action/toggle_dead_chat_mob/Trigger() if(!..()) - return 0 + return FALSE var/mob/M = target if(HAS_TRAIT_FROM(M,TRAIT_SIXTHSENSE,GHOSTROLE_TRAIT)) REMOVE_TRAIT(M,TRAIT_SIXTHSENSE,GHOSTROLE_TRAIT) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 5b4b3a229f..925184b7c7 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -378,7 +378,7 @@ var/obj/item/stack/sheet/runed_metal/R = W if(R.get_amount() < 1) to_chat(user, "You need at least one sheet of runed metal to construct a runed wall!") - return 0 + return FALSE user.visible_message("[user] begins laying runed metal on [src]...", "You begin constructing a runed wall...") if(do_after(user, 50, target = src)) if(R.get_amount() < 1) @@ -452,7 +452,7 @@ var/obj/item/stack/sheet/bronze/B = W if(B.get_amount() < 2) to_chat(user, "You need at least two bronze sheets to build a bronze wall!") - return 0 + return FALSE user.visible_message("[user] begins plating [src] with bronze...", "You begin constructing a bronze wall...") if(do_after(user, 50, target = src)) if(B.get_amount() < 2) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 6ced11ee78..64f964a103 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -268,7 +268,7 @@ var/turf/T = get_turf(src) var/obj/structure/cable/C = T.get_cable_node() if(C) - playsound(src, 'sound/magic/lightningshock.ogg', 100, 1, extrarange = 5) + playsound(src, 'sound/magic/lightningshock.ogg', 100, TRUE, extrarange = 5) tesla_zap(src, 3, C.newavail() * 0.01, ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE | ZAP_MOB_STUN | ZAP_ALLOW_DUPLICATES) //Zap for 1/100 of the amount of power. At a million watts in the grid, it will be as powerful as a tesla revolver shot. C.add_delayedload(C.newavail() * 0.0375) // you can gain up to 3.5 via the 4x upgrades power is halved by the pole so thats 2x then 1X then .5X for 3.5x the 3 bounces shock. return ..() diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 234c62cdef..bde567af1c 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -22,12 +22,12 @@ /obj/structure/janitorialcart/proc/wet_mop(obj/item/mop, mob/user) if(reagents.total_volume < 1) to_chat(user, "[src] is out of water!") - return 0 + return FALSE else reagents.trans_to(mop, 5) to_chat(user, "You wet [mop] in [src].") playsound(loc, 'sound/effects/slosh.ogg', 25, 1) - return 1 + return TRUE /obj/structure/janitorialcart/proc/put_in_cart(obj/item/I, mob/user) if(!user.transferItemToLoc(I, src)) @@ -110,7 +110,7 @@ if(!length(items)) return - items = sortList(items) + items = sort_list(items) var/pick = show_radial_menu(user, src, items, custom_check = CALLBACK(src, PROC_REF(check_menu), user), radius = 38, require_near = TRUE) if(!pick) return diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm index a37797045f..8c2655dd64 100644 --- a/code/game/objects/structures/kitchen_spike.dm +++ b/code/game/objects/structures/kitchen_spike.dm @@ -97,7 +97,7 @@ -/obj/structure/kitchenspike/user_buckle_mob(mob/living/M, mob/living/user) //Don't want them getting put on the rack other than by spiking +/obj/structure/kitchenspike/user_buckle_mob(mob/living/M, mob/living/user, check_loc) //Don't want them getting put on the rack other than by spiking return /obj/structure/kitchenspike/user_unbuckle_mob(mob/living/buckled_mob, mob/living/carbon/human/user) diff --git a/code/game/objects/structures/manned_turret.dm b/code/game/objects/structures/manned_turret.dm index 0002fe9438..7f7574c2f3 100644 --- a/code/game/objects/structures/manned_turret.dm +++ b/code/game/objects/structures/manned_turret.dm @@ -43,7 +43,7 @@ . = ..() STOP_PROCESSING(SSfastprocess, src) -/obj/machinery/manned_turret/user_buckle_mob(mob/living/M, mob/living/carbon/user) +/obj/machinery/manned_turret/user_buckle_mob(mob/living/M, mob/living/carbon/user, check_loc) if(user.incapacitated() || !istype(user)) return M.forceMove(get_turf(src)) @@ -80,7 +80,7 @@ return FALSE var/client/C = controller.client if(C) - var/atom/A = C.mouseObject + var/atom/A = C.mouse_object_ref?.resolve() var/turf/T = get_turf(A) if(istype(T)) //They're hovering over something in the map. direction_track(controller, T) diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 69206f0d08..42a5a0d8cb 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -330,6 +330,17 @@ GLOBAL_LIST_EMPTY(crematoriums) else to_chat(user, "That's not connected to anything!") +/obj/structure/tray/attackby(obj/P, mob/user, params) + if(!istype(P, /obj/item/riding_offhand)) + return ..() + + var/obj/item/riding_offhand/riding_item = P + var/mob/living/carried_mob = riding_item.rider + if(carried_mob == user) //Piggyback user. + return + user.unbuckle_mob(carried_mob) + MouseDrop_T(carried_mob, user) + /obj/structure/tray/MouseDrop_T(atom/movable/O as mob|obj, mob/user) if(!ismovable(O) || O.anchored || !Adjacent(user) || !user.Adjacent(O) || O.loc == user) return @@ -369,9 +380,9 @@ GLOBAL_LIST_EMPTY(crematoriums) if(.) return if(locate(/obj/structure/table) in get_turf(mover)) - return 1 + return TRUE else - return 0 + return FALSE /obj/structure/tray/m_tray/CanAStarPass(obj/item/card/id/ID, to_dir, atom/movable/caller) . = !density diff --git a/code/game/objects/structures/petrified_statue.dm b/code/game/objects/structures/petrified_statue.dm index 97eadff5f6..13bd885413 100644 --- a/code/game/objects/structures/petrified_statue.dm +++ b/code/game/objects/structures/petrified_statue.dm @@ -78,28 +78,28 @@ /mob/living/carbon/human/petrify(statue_timer) if(!isturf(loc)) - return 0 + return FALSE var/obj/structure/statue/petrified/S = new(loc, src, statue_timer) S.name = "statue of [name]" bleedsuppress = 1 S.copy_overlays(src) var/newcolor = list(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0)) S.add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY) - return 1 + return TRUE /mob/living/carbon/monkey/petrify(statue_timer) if(!isturf(loc)) - return 0 + return FALSE var/obj/structure/statue/petrified/S = new(loc, src, statue_timer) S.name = "statue of a monkey" S.icon_state = "monkey" - return 1 + return TRUE /mob/living/simple_animal/pet/dog/corgi/petrify(statue_timer) if(!isturf(loc)) - return 0 + return FALSE var/obj/structure/statue/petrified/S = new (loc, src, statue_timer) S.name = "statue of a corgi" S.icon_state = "corgi" S.desc = "If it takes forever, I will wait for you..." - return 1 + return TRUE diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm index e4d310b0a3..a8cdb517ca 100644 --- a/code/game/objects/structures/plasticflaps.dm +++ b/code/game/objects/structures/plasticflaps.dm @@ -77,24 +77,24 @@ var/obj/structure/bed/B = A if(istype(A, /obj/structure/bed) && (B.has_buckled_mobs() || B.density))//if it's a bed/chair and is dense or someone is buckled, it will not pass - return 0 + return FALSE if(istype(A, /obj/structure/closet/cardboard)) var/obj/structure/closet/cardboard/C = A if(C.move_delay) - return 0 + return FALSE if(ismecha(A)) - return 0 + return FALSE else if(isliving(A)) // You Shall Not Pass! var/mob/living/M = A if(isbot(A)) //Bots understand the secrets - return 1 + return TRUE if(M.buckled && istype(M.buckled, /mob/living/simple_animal/bot/mulebot)) // mulebot passenger gets a free pass. - return 1 + return TRUE if(!M.lying && !(SEND_SIGNAL(M, COMSIG_CHECK_VENTCRAWL)) && M.mob_size != MOB_SIZE_TINY) //If your not laying down, or a ventcrawler or a small creature, no pass. - return 0 + return FALSE /obj/structure/plasticflaps/deconstruct(disassembled = TRUE) if(!(flags_1 & NODECONSTRUCT_1)) diff --git a/code/game/objects/structures/reflector.dm b/code/game/objects/structures/reflector.dm index acf7e19f75..bdb30aff2b 100644 --- a/code/game/objects/structures/reflector.dm +++ b/code/game/objects/structures/reflector.dm @@ -56,7 +56,7 @@ return ..(NORTH) /obj/structure/reflector/proc/dir_map_to_angle(dir) - return 0 + return FALSE /obj/structure/reflector/bullet_act(obj/item/projectile/P) var/pdir = P.dir diff --git a/code/game/objects/structures/spirit_board.dm b/code/game/objects/structures/spirit_board.dm index 1b3093e4e7..514128a8b5 100644 --- a/code/game/objects/structures/spirit_board.dm +++ b/code/game/objects/structures/spirit_board.dm @@ -25,7 +25,7 @@ /obj/structure/spirit_board/proc/spirit_board_pick_letter(mob/M) if(!spirit_board_checks(M)) - return 0 + return FALSE if(virgin) virgin = 0 @@ -48,7 +48,7 @@ bonus = 10 //Give some other people a chance, hog. if(next_use - bonus > world.time ) - return 0 //No feedback here, hiding the cooldown a little makes it harder to tell who's really picking letters. + return FALSE //No feedback here, hiding the cooldown a little makes it harder to tell who's really picking letters. //lighting check var/light_amount = 0 @@ -58,7 +58,7 @@ if(light_amount > 0.2) to_chat(M, "It's too bright here to use [src.name]!") - return 0 + return FALSE //mobs in range check var/users_in_range = 0 @@ -71,6 +71,6 @@ if(users_in_range < 2) to_chat(M, "There aren't enough people to use the [src.name]!") - return 0 + return FALSE - return 1 + return TRUE diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 667195a179..4c7d54ee40 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -124,11 +124,11 @@ . = . || (caller.pass_flags & PASSTABLE) /obj/structure/table/proc/tableplace(mob/living/user, mob/living/pushed_mob) - pushed_mob.forceMove(src.loc) - pushed_mob.set_resting(TRUE, FALSE) - pushed_mob.visible_message("[user] places [pushed_mob] onto [src].", \ - "[user] places [pushed_mob] onto [src].") - log_combat(user, pushed_mob, "placed") + pushed_mob.forceMove(loc) + pushed_mob.set_resting(TRUE, TRUE) + pushed_mob.visible_message(span_notice("[user] places [pushed_mob] onto [src]."), \ + span_notice("[user] places [pushed_mob] onto [src].")) + log_combat(user, pushed_mob, "places", null, "onto [src]") /obj/structure/table/proc/tablepush(mob/living/user, mob/living/pushed_mob) if(HAS_TRAIT(user, TRAIT_PACIFISM)) @@ -205,6 +205,30 @@ return // If the tray IS empty, continue on (tray will be placed on the table like other items) + if(istype(I, /obj/item/riding_offhand)) + var/obj/item/riding_offhand/riding_item = I + var/mob/living/carried_mob = riding_item.rider + if(carried_mob == user) //Piggyback user. + return + if(user.a_intent == INTENT_HARM) + user.unbuckle_mob(carried_mob) + tablelimbsmash(user, carried_mob) + else + var/tableplace_delay = 3.5 SECONDS + var/skills_space = "" + if(HAS_TRAIT(user, TRAIT_QUICKER_CARRY)) + tableplace_delay = 2 SECONDS + skills_space = " expertly" + else if(HAS_TRAIT(user, TRAIT_QUICK_CARRY)) + tableplace_delay = 2.75 SECONDS + skills_space = " quickly" + carried_mob.visible_message(span_notice("[user] begins to[skills_space] place [carried_mob] onto [src]..."), + span_userdanger("[user] begins to[skills_space] place [carried_mob] onto [src]...")) + if(do_after(user, tableplace_delay, target = carried_mob)) + user.unbuckle_mob(carried_mob) + tableplace(user, carried_mob) + return TRUE + if(user.a_intent != INTENT_HARM && !(I.item_flags & ABSTRACT)) if(user.transferItemToLoc(I, drop_location())) var/list/click_params = params2list(params) @@ -717,11 +741,11 @@ /obj/structure/rack/CanPass(atom/movable/mover, turf/target) if(src.density == 0) //Because broken racks -Agouri |TODO: SPRITE!| - return 1 + return TRUE if(istype(mover) && (mover.pass_flags & PASSTABLE)) - return 1 + return TRUE else - return 0 + return FALSE /obj/structure/rack/CanAStarPass(obj/item/card/id/ID, to_dir, atom/movable/caller) . = !density @@ -745,7 +769,7 @@ if(user.a_intent == INTENT_HARM) return ..() if(user.transferItemToLoc(W, drop_location())) - return 1 + return TRUE /obj/structure/rack/attack_paw(mob/living/user) attack_hand(user) diff --git a/code/game/objects/structures/transit_tubes/station.dm b/code/game/objects/structures/transit_tubes/station.dm index 376725b262..0819020d92 100644 --- a/code/game/objects/structures/transit_tubes/station.dm +++ b/code/game/objects/structures/transit_tubes/station.dm @@ -31,7 +31,7 @@ return ..() /obj/structure/transit_tube/station/should_stop_pod(pod, from_dir) - return 1 + return TRUE /obj/structure/transit_tube/station/Bumped(atom/movable/AM) if(!pod_moving && open_status == STATION_TUBE_OPEN && ismob(AM) && AM.dir == boarding_dir) @@ -132,8 +132,8 @@ if(open_status == STATION_TUBE_CLOSED && pod && pod.loc == loc) pod.follow_tube() pod_moving = 0 - return 1 - return 0 + return TRUE + return FALSE /obj/structure/transit_tube/station/process() if(!pod_moving) diff --git a/code/game/objects/structures/transit_tubes/transit_tube.dm b/code/game/objects/structures/transit_tubes/transit_tube.dm index c8341c8834..be87c97759 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube.dm @@ -54,7 +54,7 @@ // Called to check if a pod should stop upon entering this tube. /obj/structure/transit_tube/proc/should_stop_pod(pod, from_dir) - return 0 + return FALSE // Called when a pod stops in this tube section. /obj/structure/transit_tube/proc/pod_stopped(pod, from_dir) @@ -66,18 +66,18 @@ for(var/direction in tube_dirs) if(direction == from_dir) - return 1 + return TRUE - return 0 + return FALSE /obj/structure/transit_tube/proc/has_exit(in_dir) for(var/direction in tube_dirs) if(direction == in_dir) - return 1 + return TRUE - return 0 + return FALSE diff --git a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm index 0ae1aff68a..bb0682f078 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm @@ -83,7 +83,7 @@ /obj/structure/transit_tube_pod/Process_Spacemove() if(moving) //No drifting while moving in the tubes - return 1 + return TRUE else return ..() diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index aa3544fdee..3b20e2d3b2 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -597,7 +597,7 @@ busy = TRUE if(!do_after(user, 4 SECONDS, src)) busy = FALSE - return 1 + return TRUE busy = FALSE SEND_SIGNAL(O, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_WEAK) O.clean_blood() @@ -609,7 +609,7 @@ reagents.reaction(O, TOUCH) user.visible_message("[user] washes [O] using [src].", \ "You wash [O] using [src].") - return 1 + return TRUE else return ..() diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index e94b23bccd..7c89d66382 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -69,7 +69,7 @@ if(get_dir(loc, T) == dir) return !density else - return 1 + return TRUE /obj/structure/windoor_assembly/CheckExit(atom/movable/mover, turf/target) if(mover.pass_flags & pass_flags_self) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 17784c55dc..eee337d731 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -165,7 +165,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) if(.) return if(dir == FULLTILE_WINDOW_DIR) - return 0 //full tile window, you can't move into it! + return FALSE //full tile window, you can't move into it! var/attempted_dir = get_dir(loc, target) if(attempted_dir == dir) return @@ -184,10 +184,10 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) /obj/structure/window/CheckExit(atom/movable/O, turf/target) if(istype(O) && (O.pass_flags & PASSGLASS)) - return 1 + return TRUE if(get_dir(O.loc, target) == dir) - return 0 - return 1 + return FALSE + return TRUE /obj/structure/window/attack_tk(mob/user) user.DelayNextAction(CLICK_CD_MELEE) @@ -197,7 +197,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) /obj/structure/window/attack_hulk(mob/living/carbon/human/user, does_attack_animation = 0) if(!can_be_reached(user)) - return 1 + return TRUE . = ..() /obj/structure/window/on_attack_hand(mob/user, act_intent = user.a_intent, unarmed_attack_flags) @@ -218,7 +218,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) /obj/structure/window/attackby(obj/item/I, mob/living/user, params) if(!can_be_reached(user)) - return 1 //skip the afterattack + return TRUE //skip the afterattack add_fingerprint(user) @@ -454,8 +454,8 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) if(get_dir(user,src) & dir) for(var/obj/O in loc) if(!O.CanPass(user, user.loc, 1)) - return 0 - return 1 + return FALSE + return TRUE /obj/structure/window/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1) . = ..() diff --git a/code/game/say.dm b/code/game/say.dm index c794d1c523..02067b33a2 100644 --- a/code/game/say.dm +++ b/code/game/say.dm @@ -45,7 +45,7 @@ GLOBAL_LIST_INIT(freqtospan, list( M.playsound_local(T, vol = volume, vary = TRUE, frequency = pitch, max_distance = distance, falloff_distance = 0, falloff_exponent = BARK_SOUND_FALLOFF_EXPONENT(distance), S = vocal_bark, distance_multiplier = 1) /atom/movable/proc/can_speak() - return 1 + return TRUE /atom/movable/proc/send_speech(message, range = 7, atom/movable/source = src, bubble_type, list/spans, datum/language/message_language = null, message_mode) var/rendered = compose_message(src, message_language, message, , spans, message_mode, source) @@ -202,7 +202,7 @@ GLOBAL_LIST_INIT(freqtospan, list( return "[src]" //Returns the atom's name, prepended with 'The' if it's not a proper noun /atom/movable/proc/IsVocal() - return 1 + return TRUE /atom/movable/proc/get_alt_name() diff --git a/code/game/turfs/closed.dm b/code/game/turfs/closed.dm index ef3c6a91d9..5bae49aa91 100644 --- a/code/game/turfs/closed.dm +++ b/code/game/turfs/closed.dm @@ -37,7 +37,7 @@ return /turf/closed/indestructible/acid_act(acidpwr, acid_volume, acid_id) - return 0 + return FALSE /turf/closed/indestructible/Melt() to_be_destroyed = FALSE diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index e638033d85..8afb7d4edc 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -245,7 +245,7 @@ if(L.bodytemperature <= 50) L.apply_status_effect(/datum/status_effect/freon) MakeSlippery(TURF_WET_PERMAFROST, 50) - return 1 + return TRUE /turf/open/proc/water_vapor_gas_act() MakeSlippery(TURF_WET_WATER, min_wet_time = 100, wet_time_to_add = 50) diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index da1cf68d40..e728d1ee60 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -157,7 +157,7 @@ /turf/open/floor/is_shielded() for(var/obj/structure/A in contents) if(A.level == 3) - return 1 + return TRUE /turf/open/floor/blob_act(obj/structure/blob/B) return @@ -212,12 +212,12 @@ /turf/open/floor/attackby(obj/item/C, mob/user, params) if(!C || !user) - return 1 + return TRUE if(..()) - return 1 + return TRUE if(intact && istype(C, /obj/item/stack/tile)) try_replace_tile(C, user, params) - return 0 + return FALSE /turf/open/floor/crowbar_act(mob/living/user, obj/item/I) return intact ? FORCE_BOOLEAN(pry_tile(I, user)) : FALSE diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm index a7d3cda389..fd3ba4bcce 100644 --- a/code/game/turfs/simulated/floor/fancy_floor.dm +++ b/code/game/turfs/simulated/floor/fancy_floor.dm @@ -258,7 +258,7 @@ /turf/open/floor/carpet/update_icon() if(!..()) - return 0 + return FALSE if(!broken && !burnt) if(smooth) queue_smooth(src) diff --git a/code/game/turfs/simulated/floor/mineral_floor.dm b/code/game/turfs/simulated/floor/mineral_floor.dm index b7266bfb16..498417e3f8 100644 --- a/code/game/turfs/simulated/floor/mineral_floor.dm +++ b/code/game/turfs/simulated/floor/mineral_floor.dm @@ -25,7 +25,7 @@ /turf/open/floor/mineral/update_icon() if(!..()) - return 0 + return FALSE if(!broken && !burnt) if( !(icon_state in icons) ) icon_state = initial(icon_state) diff --git a/code/game/turfs/simulated/floor/plasteel_floor.dm b/code/game/turfs/simulated/floor/plasteel_floor.dm index 614c63a14c..11c0ba4f4d 100644 --- a/code/game/turfs/simulated/floor/plasteel_floor.dm +++ b/code/game/turfs/simulated/floor/plasteel_floor.dm @@ -15,7 +15,7 @@ /turf/open/floor/plasteel/update_icon() if(!..()) - return 0 + return FALSE if(!broken && !burnt) icon_state = icon_regular_floor diff --git a/code/game/turfs/simulated/lava.dm b/code/game/turfs/simulated/lava.dm index 943f60e752..3cd08ff419 100644 --- a/code/game/turfs/simulated/lava.dm +++ b/code/game/turfs/simulated/lava.dm @@ -201,6 +201,7 @@ var/obj/structure/closet/burn_closet = burn_obj for(var/burn_content in burn_closet.contents) burn_stuff(burn_content) + return var/mob/living/burn_living = burn_target burn_living.update_fire() diff --git a/code/game/turfs/simulated/wall/reinf_walls.dm b/code/game/turfs/simulated/wall/reinf_walls.dm index 620c9adfc8..944934df75 100644 --- a/code/game/turfs/simulated/wall/reinf_walls.dm +++ b/code/game/turfs/simulated/wall/reinf_walls.dm @@ -75,25 +75,25 @@ d_state = SUPPORT_LINES update_icon() to_chat(user, "You cut the outer grille.") - return 1 + return TRUE if(SUPPORT_LINES) if(W.tool_behaviour == TOOL_SCREWDRIVER) to_chat(user, "You begin unsecuring the support lines...") if(W.use_tool(src, user, 40, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_LINES) - return 1 + return TRUE d_state = COVER update_icon() to_chat(user, "You unsecure the support lines.") - return 1 + return TRUE else if(W.tool_behaviour == TOOL_WIRECUTTER) W.play_tool_sound(src, 100) d_state = INTACT update_icon() to_chat(user, "You repair the outer grille.") - return 1 + return TRUE if(COVER) if(W.tool_behaviour == TOOL_WELDER || istype(W, /obj/item/gun/energy/plasmacutter)) @@ -102,32 +102,32 @@ to_chat(user, "You begin slicing through the metal cover...") if(W.use_tool(src, user, 60, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != COVER) - return 1 + return TRUE d_state = CUT_COVER update_icon() to_chat(user, "You press firmly on the cover, dislodging it.") - return 1 + return TRUE if(W.tool_behaviour == TOOL_SCREWDRIVER) to_chat(user, "You begin securing the support lines...") if(W.use_tool(src, user, 40, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != COVER) - return 1 + return TRUE d_state = SUPPORT_LINES update_icon() to_chat(user, "The support lines have been secured.") - return 1 + return TRUE if(CUT_COVER) if(W.tool_behaviour == TOOL_CROWBAR) to_chat(user, "You struggle to pry off the cover...") if(W.use_tool(src, user, 100, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != CUT_COVER) - return 1 + return TRUE d_state = ANCHOR_BOLTS update_icon() to_chat(user, "You pry off the cover.") - return 1 + return TRUE if(W.tool_behaviour == TOOL_WELDER) if(!W.tool_start_check(user, amount=0)) @@ -139,28 +139,28 @@ d_state = COVER update_icon() to_chat(user, "The metal cover has been welded securely to the frame.") - return 1 + return TRUE if(ANCHOR_BOLTS) if(W.tool_behaviour == TOOL_WRENCH) to_chat(user, "You start loosening the anchoring bolts which secure the support rods to their frame...") if(W.use_tool(src, user, 40, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != ANCHOR_BOLTS) - return 1 + return TRUE d_state = SUPPORT_RODS update_icon() to_chat(user, "You remove the bolts anchoring the support rods.") - return 1 + return TRUE if(W.tool_behaviour == TOOL_CROWBAR) to_chat(user, "You start to pry the cover back into place...") if(W.use_tool(src, user, 20, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != ANCHOR_BOLTS) - return 1 + return TRUE d_state = CUT_COVER update_icon() to_chat(user, "The metal cover has been pried back into place.") - return 1 + return TRUE if(SUPPORT_RODS) if(W.tool_behaviour == TOOL_WELDER || istype(W, /obj/item/gun/energy/plasmacutter)) @@ -169,32 +169,32 @@ to_chat(user, "You begin slicing through the support rods...") if(W.use_tool(src, user, 100, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_RODS) - return 1 + return TRUE d_state = SHEATH update_icon() to_chat(user, "You slice through the support rods.") - return 1 + return TRUE if(W.tool_behaviour == TOOL_WRENCH) to_chat(user, "You start tightening the bolts which secure the support rods to their frame...") W.play_tool_sound(src, 100) if(W.use_tool(src, user, 40)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_RODS) - return 1 + return TRUE d_state = ANCHOR_BOLTS update_icon() to_chat(user, "You tighten the bolts anchoring the support rods.") - return 1 + return TRUE if(SHEATH) if(W.tool_behaviour == TOOL_CROWBAR) to_chat(user, "You struggle to pry off the outer sheath...") if(W.use_tool(src, user, 100, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != SHEATH) - return 1 + return TRUE to_chat(user, "You pry off the outer sheath.") dismantle_wall() - return 1 + return TRUE if(W.tool_behaviour == TOOL_WELDER) if(!W.tool_start_check(user, amount=0)) @@ -206,8 +206,8 @@ d_state = SUPPORT_RODS update_icon() to_chat(user, "You weld the support rods back together.") - return 1 - return 0 + return TRUE + return FALSE /turf/closed/wall/r_wall/update_icon() . = ..() diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index 2df1606cb9..e9911fb02e 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -228,16 +228,16 @@ /turf/open/space/can_have_cabling() if(locate(/obj/structure/lattice/catwalk, src)) - return 1 - return 0 + return TRUE + return FALSE /turf/open/space/is_transition_turf() if(destination_x || destination_y || destination_z) - return 1 + return TRUE /turf/open/space/acid_act(acidpwr, acid_volume) - return 0 + return FALSE /turf/open/space/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) underlay_appearance.icon = 'icons/turf/space.dmi' diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 826132e860..b9be8d2386 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -476,11 +476,11 @@ GLOBAL_LIST_EMPTY(station_turfs) var/atom/A for(var/i in contents) if(. <= 0) - return 0 + return FALSE A = i if(!QDELETED(A) && A.level >= affecting_level) . = A.wave_explode(., explosion, dir) - maptext = "[.]" + maptext = MAPTEXT("[.]") /turf/narsie_act(force, ignore_mobs, probability = 20) . = (prob(probability) || force) diff --git a/code/modules/admin/DB_ban/functions.dm b/code/modules/admin/DB_ban/functions.dm index b8d2452874..429d1fef5d 100644 --- a/code/modules/admin/DB_ban/functions.dm +++ b/code/modules/admin/DB_ban/functions.dm @@ -173,7 +173,7 @@ AH.Resolve() //with prejudice if(banned_client && banned_client.ckey == ckey) qdel(banned_client) - return 1 + return TRUE /datum/admins/proc/DB_ban_unban(ckey, bantype, job = "") diff --git a/code/modules/admin/NewBan.dm b/code/modules/admin/NewBan.dm index 1a6f17efdf..ca307fbbbd 100644 --- a/code/modules/admin/NewBan.dm +++ b/code/modules/admin/NewBan.dm @@ -7,7 +7,7 @@ GLOBAL_PROTECT(Banlist) if(!GLOB.Banlist) // if Banlist cannot be located for some reason LoadBans() // try to load the bans if(!GLOB.Banlist) // uh oh, can't find bans! - return 0 // ABORT ABORT ABORT + return FALSE // ABORT ABORT ABORT . = list() var/appeal @@ -20,7 +20,7 @@ GLOBAL_PROTECT(Banlist) if (GLOB.Banlist["temp"]) if (!GetExp(GLOB.Banlist["minutes"])) ClearTempbans() - return 0 + return FALSE else .["desc"] = "\nReason: [GLOB.Banlist["reason"]]\nExpires: [GetExp(GLOB.Banlist["minutes"])]\nBy: [GLOB.Banlist["bannedby"]] during round ID [GLOB.Banlist["roundid"]][appeal]" else @@ -47,18 +47,18 @@ GLOBAL_PROTECT(Banlist) if(GLOB.Banlist["temp"]) if (!GetExp(GLOB.Banlist["minutes"])) ClearTempbans() - return 0 + return FALSE else .["desc"] = "\nReason: [GLOB.Banlist["reason"]]\nExpires: [GetExp(GLOB.Banlist["minutes"])]\nBy: [GLOB.Banlist["bannedby"]] during round ID [GLOB.Banlist["roundid"]][appeal]" else .["desc"] = "\nReason: [GLOB.Banlist["reason"]]\nExpires: PERMENANT\nBy: [GLOB.Banlist["bannedby"]] during round ID [GLOB.Banlist["roundid"]][appeal]" .["reason"] = matches return . - return 0 + return FALSE /proc/UpdateTime() //No idea why i made this a proc. GLOB.CMinutes = (world.realtime / 10) / 60 - return 1 + return TRUE /proc/LoadBans() if(!CONFIG_GET(flag/ban_legacy_system)) @@ -78,7 +78,7 @@ GLOBAL_PROTECT(Banlist) GLOB.Banlist.cd = "/base" ClearTempbans() - return 1 + return TRUE /proc/ClearTempbans() UpdateTime() @@ -97,7 +97,7 @@ GLOBAL_PROTECT(Banlist) if (GLOB.CMinutes >= GLOB.Banlist["minutes"]) RemoveBan(A) - return 1 + return TRUE /proc/AddBan(key, computerid, reason, bannedby, temp, minutes, address) @@ -111,7 +111,7 @@ GLOBAL_PROTECT(Banlist) GLOB.Banlist.cd = "/base" if ( GLOB.Banlist.dir.Find("[ban_ckey][computerid]") ) to_chat(usr, text("Ban already exists.")) - return 0 + return FALSE else GLOB.Banlist.dir.Add("[ban_ckey][computerid]") GLOB.Banlist.cd = "/base/[ban_ckey][computerid]" @@ -128,7 +128,7 @@ GLOBAL_PROTECT(Banlist) create_message("note", key, bannedby, "Permanently banned - [reason]", null, null, 0, 0, null, 0, 0) else create_message("note", key, bannedby, "Banned for [minutes] minutes - [reason]", null, null, 0, 0, null, 0, 0) - return 1 + return TRUE /proc/RemoveBan(foldername) var/key @@ -140,7 +140,7 @@ GLOBAL_PROTECT(Banlist) GLOB.Banlist.cd = "/base" if (!GLOB.Banlist.dir.Remove(foldername)) - return 0 + return FALSE if(!usr) log_admin_private("Ban Expired: [key]") @@ -157,13 +157,13 @@ GLOBAL_PROTECT(Banlist) GLOB.Banlist.dir.Remove(A) continue - return 1 + return TRUE /proc/GetExp(minutes as num) UpdateTime() var/exp = minutes - GLOB.CMinutes if (exp <= 0) - return 0 + return FALSE else var/timeleftstring if (exp >= 1440) //1440 = 1 day in minutes diff --git a/code/modules/admin/admin_investigate.dm b/code/modules/admin/admin_investigate.dm index 52be445120..9343e716ef 100644 --- a/code/modules/admin/admin_investigate.dm +++ b/code/modules/admin/admin_investigate.dm @@ -22,7 +22,7 @@ else logs_missing += "[subject] (empty)" - var/list/combined = sortList(logs_present) + sortList(logs_missing) + var/list/combined = sort_list(logs_present) + sort_list(logs_missing) var/selected = input("Investigate what?", "Investigate") as null|anything in combined diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index bc2be6c9d6..29c9aaebc5 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -18,6 +18,7 @@ GLOBAL_PROTECT(admin_verbs_default) /client/proc/cmd_admin_pm_panel, /*admin-pm list*/ /client/proc/stop_sounds, /client/proc/mark_datum_mapview, + /client/proc/tag_datum_mapview, /client/proc/debugstatpanel // /client/proc/fix_air /*resets air in designated radius to its default atmos composition*/ ) @@ -88,7 +89,8 @@ GLOBAL_PROTECT(admin_verbs_admin) /client/proc/addbunkerbypass, //CIT /client/proc/revokebunkerbypass, //CIT /datum/admins/proc/open_borgopanel, - /datum/admins/proc/change_laws //change AI laws + /datum/admins/proc/change_laws, //change AI laws + /datum/admins/proc/display_tags, ) GLOBAL_LIST_INIT(admin_verbs_ban, list(/client/proc/unban_panel, /client/proc/DB_ban_panel, /client/proc/stickybanpanel)) GLOBAL_PROTECT(admin_verbs_ban) @@ -692,7 +694,7 @@ GLOBAL_PROTECT(admin_verbs_hideable) // if(!SStrading_card_game.loaded) // message_admins("The card subsystem is not currently loaded") // return -// var/pack = input("Which pack should we test?", "You fucked it didn't you") as null|anything in sortList(SStrading_card_game.card_packs) +// var/pack = input("Which pack should we test?", "You fucked it didn't you") as null|anything in sort_list(SStrading_card_game.card_packs) // var/batchCount = input("How many times should we open it?", "Don't worry, I understand") as null|num // var/batchSize = input("How many cards per batch?", "I hope you remember to check the validation") as null|num // var/guar = input("Should we use the pack's guaranteed rarity? If so, how many?", "We've all been there. Man you should have seen the old system") as null|num @@ -712,7 +714,7 @@ GLOBAL_PROTECT(admin_verbs_hideable) var/type_length = length_char("/obj/effect/proc_holder/spell") + 2 for(var/A in GLOB.spells) spell_list[copytext_char("[A]", type_length)] = A - var/obj/effect/proc_holder/spell/S = input("Choose the spell to give to that guy", "ABRAKADABRA") as null|anything in sortList(spell_list) + var/obj/effect/proc_holder/spell/S = input("Choose the spell to give to that guy", "ABRAKADABRA") as null|anything in sort_list(spell_list) if(!S) return @@ -733,7 +735,7 @@ GLOBAL_PROTECT(admin_verbs_hideable) set desc = "Remove a spell from the selected mob." if(T?.mind) - var/obj/effect/proc_holder/spell/S = input("Choose the spell to remove", "NO ABRAKADABRA") as null|anything in sortList(T.mind.spell_list) + var/obj/effect/proc_holder/spell/S = input("Choose the spell to remove", "NO ABRAKADABRA") as null|anything in sort_list(T.mind.spell_list) if(S) T.mind.RemoveSpell(S) log_admin("[key_name(usr)] removed the spell [S] from [key_name(T)].") @@ -747,7 +749,7 @@ GLOBAL_PROTECT(admin_verbs_hideable) if(!istype(T)) to_chat(src, "You can only give a disease to a mob of type /mob/living.", confidential = TRUE) return - var/datum/disease/D = input("Choose the disease to give to that guy", "ACHOO") as null|anything in sortList(SSdisease.diseases, GLOBAL_PROC_REF(cmp_typepaths_asc)) + var/datum/disease/D = input("Choose the disease to give to that guy", "ACHOO") as null|anything in sort_list(SSdisease.diseases, GLOBAL_PROC_REF(cmp_typepaths_asc)) if(!D) return T.ForceContractDisease(new D, FALSE, TRUE) diff --git a/code/modules/admin/create_poll.dm b/code/modules/admin/create_poll.dm index e5391f0f43..6bd4fd040e 100644 --- a/code/modules/admin/create_poll.dm +++ b/code/modules/admin/create_poll.dm @@ -29,7 +29,7 @@ if ("Instant Runoff Voting") polltype = POLLTYPE_IRV else - return 0 + return FALSE var/starttime = SQLtime() var/endtime = input("Set end time for poll as format YYYY-MM-DD HH:MM:SS. All times in server time. HH:MM:SS is optional and 24-hour. Must be later than starting time for obvious reasons.", "Set end time", SQLtime()) as text if(!endtime) @@ -117,7 +117,7 @@ if("Finish") add_option = 0 else - return 0 + return FALSE var/m1 = "[key_name(usr)] has created a new server poll. Poll type: [polltype] - Admin Only: [adminonly ? "Yes" : "No"] - Question: [question]" var/m2 = "[key_name_admin(usr)] has created a new server poll. Poll type: [polltype] - Admin Only: [adminonly ? "Yes" : "No"]
    Question: [question]" var/datum/db_query/query_polladd_question = SSdbcore.NewQuery({" diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm index 1430d5d77a..ea16283070 100644 --- a/code/modules/admin/holder2.dm +++ b/code/modules/admin/holder2.dm @@ -30,6 +30,9 @@ GLOBAL_PROTECT(href_token) var/datum/filter_editor/filteriffic + /// A lazylist of tagged datums, for quick reference with the View Tags verb + var/list/tagged_datums + /datum/admins/CanProcCall(procname) . = ..() if(!check_rights(R_SENSITIVE)) @@ -137,21 +140,21 @@ GLOBAL_PROTECT(href_token) /datum/admins/proc/check_for_rights(rights_required) if(rights_required && !(rights_required & rank.rights)) - return 0 - return 1 + return FALSE + return TRUE /datum/admins/proc/check_if_greater_rights_than_holder(datum/admins/other) if(!other) - return 1 //they have no rights + return TRUE //they have no rights if(rank.rights == R_EVERYTHING) - return 1 //we have all the rights + return TRUE //we have all the rights if(src == other) - return 1 //you always have more rights than yourself + return TRUE //you always have more rights than yourself if(rank.rights != other.rank.rights) if( (rank.rights & other.rank.rights) == other.rank.rights ) - return 1 //we have all the rights they have and more - return 0 + return TRUE //we have all the rights they have and more + return FALSE /datum/admins/vv_edit_var(var_name, var_value) if(var_name == NAMEOF(src, fakekey)) @@ -161,7 +164,7 @@ GLOBAL_PROTECT(href_token) /* checks if usr is an admin with at least ONE of the flags in rights_required. (Note, they don't need all the flags) if rights_required == 0, then it simply checks if they are an admin. -if it doesn't return 1 and show_msg=1 it will prints a message explaining why the check has failed +if it doesn't return TRUE and show_msg=1 it will prints a message explaining why the check has failed generally it would be used like so: /proc/admin_proc() @@ -175,26 +178,26 @@ you will have to do something like if(client.rights & R_ADMIN) yourself. /proc/check_rights(rights_required, show_msg=1) if(usr && usr.client) if (check_rights_for(usr.client, rights_required)) - return 1 + return TRUE else if(show_msg) to_chat(usr, "Error: You do not have sufficient rights to do that. You require one of the following flags:[rights2text(rights_required," ")].") - return 0 + return FALSE //probably a bit iffy - will hopefully figure out a better solution /proc/check_if_greater_rights_than(client/other) if(usr && usr.client) if(usr.client.holder) if(!other || !other.holder) - return 1 + return TRUE return usr.client.holder.check_if_greater_rights_than_holder(other.holder) - return 0 + return FALSE //This proc checks whether subject has at least ONE of the rights specified in rights_required. /proc/check_rights_for(client/subject, rights_required) if(subject && subject.holder) return subject.holder.check_for_rights(rights_required) - return 0 + return FALSE /proc/GenerateToken() . = "" diff --git a/code/modules/admin/playtimes.dm b/code/modules/admin/playtimes.dm index 7f9f5cf56c..fedd096974 100644 --- a/code/modules/admin/playtimes.dm +++ b/code/modules/admin/playtimes.dm @@ -32,7 +32,7 @@ clients += list(client) - clients = sortList(clients, GLOBAL_PROC_REF(cmp_playtime)) + clients = sort_list(clients, GLOBAL_PROC_REF(cmp_playtime)) data["clients"] = clients return data diff --git a/code/modules/admin/sound_emitter.dm b/code/modules/admin/sound_emitter.dm index ad9c995aa1..388a8e42af 100644 --- a/code/modules/admin/sound_emitter.dm +++ b/code/modules/admin/sound_emitter.dm @@ -81,7 +81,7 @@ var/new_label = stripped_input(user, "Choose a new label.", "Sound Emitter") if(!new_label) return - maptext = new_label + maptext = MAPTEXT(new_label) to_chat(user, "Label set to [maptext].", confidential = TRUE) if(href_list["edit_sound_file"]) var/new_file = input(user, "Choose a sound file.", "Sound Emitter") as null|sound diff --git a/code/modules/admin/stickyban.dm b/code/modules/admin/stickyban.dm index 57487f3144..c5c7a278d2 100644 --- a/code/modules/admin/stickyban.dm +++ b/code/modules/admin/stickyban.dm @@ -403,7 +403,7 @@ if (SSstickyban.dbcacheexpire) return SSstickyban.dbcache.Copy() - return sortList(world.GetConfig("ban")) + return sort_list(world.GetConfig("ban")) /proc/get_stickyban_from_ckey(ckey) diff --git a/code/modules/admin/tag.dm b/code/modules/admin/tag.dm new file mode 100644 index 0000000000..b7fc297cd1 --- /dev/null +++ b/code/modules/admin/tag.dm @@ -0,0 +1,132 @@ +/** + * Inserts the target_datum into [/datum/admins/var/tagged_datums], for later reference. + * + * Arguments: + * * target_datum - The datum you want to create a tag for + */ +/datum/admins/proc/add_tagged_datum(datum/target_datum) + if(LAZYFIND(tagged_datums, target_datum)) + to_chat(owner, span_warning("[target_datum] is already tagged!")) + return + + LAZYADD(tagged_datums, target_datum) + RegisterSignal(target_datum, COMSIG_PARENT_QDELETING, .proc/handle_tagged_del, override = TRUE) + to_chat(owner, span_notice("[target_datum] has been tagged.")) + +/// Get ahead of the curve with deleting +/datum/admins/proc/handle_tagged_del(datum/source) + SIGNAL_HANDLER + + // No point, we don't even care about it anymore. + if(!LAZYFIND(tagged_datums, source)) + return + + if(owner) + to_chat(owner, span_boldnotice("Tagged datum [source] ([source.type]) has been deleted.")) + remove_tagged_datum(source, silent = TRUE) + +/** + * Attempts to remove the specified datum from [/datum/admins/var/tagged_datums] if it exists + * + * Arguments: + * * target_datum - The datum you want to remove from the tagged_datums list + * * silent - If TRUE, won't print messages to the owner's chat + */ +/datum/admins/proc/remove_tagged_datum(datum/target_datum, silent=FALSE) + if(!istype(target_datum)) + return + + if(LAZYFIND(tagged_datums, target_datum)) + LAZYREMOVE(tagged_datums, target_datum) + if(!silent) + to_chat(owner, span_notice("[target_datum] has been untagged.")) + else if(!silent) + to_chat(owner, span_warning("[target_datum] was not already tagged.")) + +/// Quick define for readability +#define TAGS_REFRESH "Refresh" +#define TAGS_CLEAR "Untag all" + +#define TAG_DEL(X) "(UNTAG)" +#define TAG_MARK(X) "(MARK)" +#define TAG_SIMPLE_HEALTH(X) "Health: [X.health]" +#define TAG_CARBON_HEALTH(X) "Health: [X.health] (\ + [X.getBruteLoss()] \ + [X.getFireLoss()] \ + [X.getToxLoss()] \ + [X.getOxyLoss()]\ + [X.getCloneLoss() ? " [X.getCloneLoss()]" : ""])" + +/// Display all of the tagged datums +/datum/admins/proc/display_tags() + set category = "Admin.Game" + set name = "View Tags" + + if (!istype(src, /datum/admins)) + src = usr.client.holder + if (!istype(src, /datum/admins)) + to_chat(usr, "Error: you are not an admin!", confidential = TRUE) + return + + var/index = 0 + var/list/dat = list("
    Tag Menu

    ") + + dat += "
    [TAGS_REFRESH] | [TAGS_CLEAR]
    " + if(LAZYLEN(tagged_datums)) + for(var/datum/iter_datum as anything in tagged_datums) + index++ + var/specific_info + + if(isnull(iter_datum)) + dat += "\t[index]: Null reference - Check runtime logs!" + stack_trace("Null datum found in tagged datum menu! User: [usr]") + continue + else if(iscarbon(iter_datum)) + var/mob/living/carbon/resolved_carbon = iter_datum + specific_info = "[TAG_CARBON_HEALTH(resolved_carbon)] | [AREACOORD(resolved_carbon)] [ADMIN_PP(iter_datum)] [ADMIN_FLW(iter_datum)]" + else if(isliving(iter_datum)) + var/mob/living/resolved_living = iter_datum + specific_info = "[TAG_SIMPLE_HEALTH(resolved_living)] | [AREACOORD(resolved_living)] [ADMIN_PP(iter_datum)] [ADMIN_FLW(iter_datum)]" + else if(ismob(iter_datum)) + var/atom/resolved_atom = iter_datum // needed for ADMIN_JMP + specific_info = "[AREACOORD(resolved_atom)] [ADMIN_PP(iter_datum)] [ADMIN_FLW(iter_datum)]" + else if(ismovable(iter_datum)) + var/atom/resolved_atom = iter_datum // needed for ADMIN_JMP + specific_info = "[AREACOORD(resolved_atom)] [ADMIN_FLW(iter_datum)]" + else if(isatom(iter_datum)) + var/atom/resolved_atom = iter_datum // needed for ADMIN_JMP + specific_info = "[AREACOORD(resolved_atom)] [ADMIN_JMP(resolved_atom)]" + else if(istype(iter_datum, /datum/controller/subsystem)) + var/datum/controller/subsystem/resolved_subsystem = iter_datum + specific_info = "[resolved_subsystem.stat_entry()]" + // else, it's just a /datum + + dat += "\t[index]: [iter_datum] | [specific_info] | [ADMIN_VV(iter_datum)]| [TAG_DEL(iter_datum)] | [iter_datum == marked_datum ? "Marked" : TAG_MARK(iter_datum)] " + dat += "\t([iter_datum.type])" + else + dat += "No datums tagged :(" + + dat = dat.Join("
    ") + usr << browse(dat, "window=tag;size=800x480") + +/** + * Clears tagged datums + */ +/datum/admins/proc/clear_tags() + var/amount_of_tags = LAZYLEN(tagged_datums) + if(!amount_of_tags) + to_chat(owner, span_warning("There are no tagged datums to clear.")) + return + var/confirmation = alert(usr, "Clear your tagged datums? ([amount_of_tags])", "Confirmation", "Yes", "No") + if(confirmation != "Yes") + return + LAZYNULL(tagged_datums) + to_chat(owner, span_notice("Tagged datums have been cleared, [amount_of_tags] item\s removed.")) + +#undef TAGS_REFRESH +#undef TAGS_CLEAR + +#undef TAG_DEL +#undef TAG_MARK +#undef TAG_SIMPLE_HEALTH +#undef TAG_CARBON_HEALTH diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index cc143dcad0..c1bf537dd8 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1026,7 +1026,7 @@ to_chat(M, "The reason is: [reason]") to_chat(M, "This jobban will be lifted in [mins] minutes.") href_list["jobban2"] = 1 // lets it fall through and refresh - return 1 + return TRUE if("No") var/reason = input(usr,"Please State Reason For Banning [M.key].","Reason") as message|null severity = input("Set the severity of the note/ban.", "Severity", null, null) as null|anything in list("High", "Medium", "Minor", "None") @@ -1052,7 +1052,7 @@ to_chat(M, "The reason is: [reason]") to_chat(M, "Jobban can be lifted only upon request.") href_list["jobban2"] = 1 // lets it fall through and refresh - return 1 + return TRUE if("Cancel") return @@ -1081,8 +1081,8 @@ message_admins("[key_name_admin(usr)] unbanned [key_name_admin(M)] from [msg].") to_chat(M, "You have been un-jobbanned by [usr.client.key] from [msg].") href_list["jobban2"] = 1 // lets it fall through and refresh - return 1 - return 0 //we didn't do anything! + return TRUE + return FALSE //we didn't do anything! else if(href_list["boot2"]) if(!check_rights(R_ADMIN)) @@ -1351,7 +1351,7 @@ for (var/rule in subtypesof(/datum/dynamic_ruleset/roundstart)) var/datum/dynamic_ruleset/roundstart/newrule = new rule() roundstart_rules[newrule.name] = newrule - var/added_rule = input(usr,"What ruleset do you want to force? This will bypass threat level and population restrictions.", "Rigging Roundstart", null) as null|anything in sortList(roundstart_rules) + var/added_rule = input(usr,"What ruleset do you want to force? This will bypass threat level and population restrictions.", "Rigging Roundstart", null) as null|anything in sort_list(roundstart_rules) if (added_rule) GLOB.dynamic_forced_roundstart_ruleset += roundstart_rules[added_rule] log_admin("[key_name(usr)] set [added_rule] to be a forced roundstart ruleset.") @@ -2705,6 +2705,31 @@ log_query_debug("[usr.key] | [response]") else if(answer == "no") log_query_debug("[usr.key] | Reported no server hang") + else if(href_list["del_tag"]) + if(!check_rights(R_ADMIN)) + return + var/datum/datum_to_remove = locate(href_list["del_tag"]) + if(!datum_to_remove) + return + return remove_tagged_datum(datum_to_remove) + + else if(href_list["show_tags"]) + if(!check_rights(R_ADMIN)) + return + return display_tags() + + else if(href_list["clear_tags"]) + if(!check_rights(R_ADMIN)) + return + return clear_tags() + + else if(href_list["mark_datum"]) + if(!check_rights(R_ADMIN)) + return + var/datum/datum_to_mark = locate(href_list["mark_datum"]) + if(!datum_to_mark) + return + return usr.client?.mark_datum(datum_to_mark) /datum/admins/proc/HandleCMode() if(!check_rights(R_ADMIN)) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 3a708ef182..09219e05ee 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -30,7 +30,7 @@ targets["[T.mob.real_name](as [T.mob.name]) - [T]"] = T else targets["(No Mob) - [T]"] = T - var/target = input(src,"To whom shall we send a message?","Admin PM",null) as null|anything in sortList(targets) + var/target = input(src,"To whom shall we send a message?","Admin PM",null) as null|anything in sort_list(targets) cmd_admin_pm(targets[target],null) SSblackbox.record_feedback("tally", "admin_verb", 1, "Admin PM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/borgpanel.dm b/code/modules/admin/verbs/borgpanel.dm index ec03afff36..0cd8c5d20e 100644 --- a/code/modules/admin/verbs/borgpanel.dm +++ b/code/modules/admin/verbs/borgpanel.dm @@ -50,15 +50,12 @@ "lockdown" = borg.locked_down, "scrambledcodes" = borg.scrambledcodes ) - .["upgrades"] = list() - for (var/upgradetype in subtypesof(/obj/item/borg/upgrade)-/obj/item/borg/upgrade/hypospray) //hypospray is a dummy parent for hypospray upgrades - var/obj/item/borg/upgrade/upgrade = upgradetype - if (initial(upgrade.module_type) && !is_type_in_list(borg.module, initial(upgrade.module_type))) // Upgrade requires a different module - continue - var/installed = FALSE - if (locate(upgradetype) in borg) - installed = TRUE - .["upgrades"] += list(list("name" = initial(upgrade.name), "installed" = installed, "type" = upgradetype)) + var/obj/item/gun/energy/kinetic_accelerator/kinetic_accelerator = locate(/obj/item/gun/energy/kinetic_accelerator) in borg.module + if(kinetic_accelerator) + .["ka_remaining_capacity"] = kinetic_accelerator.get_remaining_mod_capacity() + .["active_upgrades"] = list() + for (var/obj/item/borg/upgrade/upgrade as anything in borg.upgrades) // put a non-upgrade here, i dare you. + .["active_upgrades"] += list(list("type" = upgrade.type)) .["laws"] = borg.laws ? borg.laws.get_law_list(include_zeroth = TRUE, render_html = FALSE) : list() .["channels"] = list() for (var/k in GLOB.radiochannels) @@ -77,6 +74,28 @@ for(var/mob/living/silicon/ai/ai in GLOB.ai_list) .["ais"] += list(list("name" = ai.name, "ref" = REF(ai), "connected" = (borg.connected_ai == ai))) +/datum/borgpanel/ui_static_data(mob/user) + . = ..() + .["upgrades"] = list() + for(var/obj/item/borg/upgrade/upgrade as anything in GLOB.borg_upgrades) + if(upgrade.type == upgrade.abstract_type) + continue + var/obj/item/borg/upgrade/modkit/modkit + if(istype(upgrade, /obj/item/borg/upgrade/modkit)) + modkit = upgrade + if(modkit.minebot_exclusive) + continue + modkit = upgrade + .["upgrades"] += list( + list( + "name" = upgrade.name, + "type" = upgrade.type, + "module_type" = upgrade.module_type, + "maximum_of_type" = modkit ? modkit.maximum_of_type : null, + "denied_type" = modkit ? modkit.denied_type : null, + "cost" = modkit ? modkit.cost : null + ) + ) /datum/borgpanel/ui_act(action, params) if(..()) @@ -148,17 +167,31 @@ var/upgradepath = text2path(params["upgrade"]) var/obj/item/borg/upgrade/installedupgrade = locate(upgradepath) in borg if (installedupgrade) - installedupgrade.deactivate(borg, user) - borg.upgrades -= installedupgrade + qdel(installedupgrade) message_admins("[key_name_admin(user)] removed the [installedupgrade] upgrade from [ADMIN_LOOKUPFLW(borg)].") log_admin("[key_name(user)] removed the [installedupgrade] upgrade from [key_name(borg)].") - qdel(installedupgrade) else - var/obj/item/borg/upgrade/upgrade = new upgradepath(borg) - upgrade.action(borg, user) - borg.upgrades += upgrade + var/obj/item/borg/upgrade/upgrade = new upgradepath() + if(!borg.apply_upgrade(upgrade, user, TRUE)) + to_chat(user, span_danger("Upgrade error.")) + return message_admins("[key_name_admin(user)] added the [upgrade] borg upgrade to [ADMIN_LOOKUPFLW(borg)].") log_admin("[key_name(user)] added the [upgrade] borg upgrade to [key_name(borg)].") + if ("add_upgrade") + var/upgradepath = text2path(params["upgrade"]) + var/obj/item/borg/upgrade/upgrade = new upgradepath() + if(!borg.apply_upgrade(upgrade, user, TRUE)) + to_chat(user, span_danger("Upgrade error.")) + return + message_admins("[key_name_admin(user)] added the [upgrade] borg upgrade to [ADMIN_LOOKUPFLW(borg)].") + log_admin("[key_name(user)] added the [upgrade] borg upgrade to [key_name(borg)].") + if ("remove_upgrade") + var/upgradepath = text2path(params["upgrade"]) + var/obj/item/borg/upgrade/installedupgrade = locate(upgradepath) in borg + if (installedupgrade) + qdel(installedupgrade) + message_admins("[key_name_admin(user)] removed the [installedupgrade] upgrade from [ADMIN_LOOKUPFLW(borg)].") + log_admin("[key_name(user)] removed the [installedupgrade] upgrade from [key_name(borg)].") if ("toggle_radio") var/channel = params["channel"] if (channel in borg.radio.channels) // We're removing a channel @@ -226,13 +259,20 @@ if (!istype(chosensilicon, /mob/living/silicon)) to_chat(usr, "Silicon is required for law changes", confidential=TRUE) return - var/chosen = pick_closest_path(null, make_types_fancy(typesof(/obj/item/aiModule))) + var/chosen = pick_closest_path(null, make_types_fancy(typesof(/obj/item/ai_module))) if (!chosen) return var/new_board = new chosen(src) - var/obj/item/aiModule/chosenboard = new_board + var/obj/item/ai_module/chosenboard = new_board var/mob/living/silicon/beepboop = chosensilicon chosenboard.install(beepboop.laws, usr) message_admins("[key_name_admin(usr)] added [chosenboard] to [ADMIN_LOOKUPFLW(beepboop)].") log_admin("[key_name(usr)] added [chosenboard] to [key_name(beepboop)].") qdel(new_board) + +GLOBAL_LIST_INIT(borg_upgrades, populate_borg_upgrades()) + +/proc/populate_borg_upgrades() + . = list() + for(var/type in typesof(/obj/item/borg/upgrade)) + . += new type diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 1028a48f62..386f098dd6 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -89,11 +89,11 @@ available.Add(C) var/mob/choice = input("Choose a player to play the pAI", "Spawn pAI") in available if(!choice) - return 0 + return FALSE if(!isobserver(choice)) var/confirm = input("[choice.key] isn't ghosting right now. Are you sure you want to yank him out of them out of their body and place them in this pAI?", "Spawn pAI Confirmation", "No") in list("Yes", "No") if(confirm != "Yes") - return 0 + return FALSE var/obj/item/paicard/card = new(T) var/mob/living/silicon/pai/pai = new(card) pai.name = input(choice, "Enter your pAI name:", "pAI Name", "Personal AI") as text @@ -238,7 +238,7 @@ if(M.ckey) if(alert("This mob is being controlled by [M.key]. Are you sure you wish to give someone else control of it? [M.key] will be made a ghost.",,"Yes","No") != "Yes") return - var/client/newkey = input(src, "Pick the player to put in control.", "New player") as null|anything in sortList(GLOB.clients) + var/client/newkey = input(src, "Pick the player to put in control.", "New player") as null|anything in sort_list(GLOB.clients) var/mob/oldmob = newkey.mob var/delmob = FALSE if((isobserver(oldmob) || alert("Do you want to delete [newkey]'s old mob?","Delete?","Yes","No") != "No")) @@ -494,7 +494,7 @@ var/datum/outfit/O = path //not much to initalize here but whatever outfits[initial(O.name)] = path - var/dresscode = input("Select outfit", "Robust quick dress shop") as null|anything in baseoutfits + sortList(outfits) + var/dresscode = input("Select outfit", "Robust quick dress shop") as null|anything in baseoutfits + sort_list(outfits) if (isnull(dresscode)) return @@ -508,7 +508,7 @@ var/datum/outfit/O = path job_outfits[initial(O.name)] = path - dresscode = input("Select job equipment", "Robust quick dress shop") as null|anything in sortList(job_outfits) + dresscode = input("Select job equipment", "Robust quick dress shop") as null|anything in sort_list(job_outfits) dresscode = job_outfits[dresscode] if(isnull(dresscode)) return @@ -520,7 +520,7 @@ var/datum/outfit/O = path plasmaman_outfits[initial(O.name)] = path - dresscode = input("Select plasmeme equipment", "Robust quick dress shop") as null|anything in sortList(plasmaman_outfits) + dresscode = input("Select plasmeme equipment", "Robust quick dress shop") as null|anything in sort_list(plasmaman_outfits) dresscode = plasmaman_outfits[dresscode] if(isnull(dresscode)) return @@ -529,7 +529,7 @@ var/list/custom_names = list() for(var/datum/outfit/D in GLOB.custom_outfits) custom_names[D.name] = D - var/selected_name = input("Select outfit", "Robust quick dress shop") as null|anything in sortList(custom_names) + var/selected_name = input("Select outfit", "Robust quick dress shop") as null|anything in sort_list(custom_names) dresscode = custom_names[selected_name] if(isnull(dresscode)) return @@ -828,15 +828,15 @@ set name = "Show Line Profiling" set desc = "Shows tracked profiling info from code lines that support it" - var/sortlist = list( + var/sort_list = list( "Avg time" = GLOBAL_PROC_REF(cmp_profile_avg_time_dsc), "Total Time" = GLOBAL_PROC_REF(cmp_profile_time_dsc), "Call Count" = GLOBAL_PROC_REF(cmp_profile_count_dsc) ) - var/sort = input(src, "Sort type?", "Sort Type", "Avg time") as null|anything in sortlist + var/sort = input(src, "Sort type?", "Sort Type", "Avg time") as null|anything in sort_list if (!sort) return - sort = sortlist[sort] + sort = sort_list[sort] profile_show(src, sort) /client/proc/reload_configuration() diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index 0dfee4c38c..89c0e0210e 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -65,7 +65,7 @@ GLOBAL_PROTECT(admin_verbs_debug_mapping) icon_state = "yellow" /obj/effect/debugging/marker/Move() - return 0 + return FALSE /client/proc/camera_view() set category = "Mapping" @@ -83,7 +83,7 @@ GLOBAL_PROTECT(admin_verbs_debug_mapping) for(var/turf/T in C.can_see()) seen[T]++ for(var/turf/T in seen) - T.maptext = "[seen[T]]" + T.maptext = MAPTEXT("[seen[T]]") SSblackbox.record_feedback("tally", "admin_verb", 1, "Show Camera Range") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! SSblackbox.record_feedback("tally", "admin_verb", 1, "Show Camera Range") @@ -111,7 +111,7 @@ GLOBAL_LIST_EMPTY(dirty_vars) if(!Master) alert(usr,"Master_controller not found.","Sec Camera Report") - return 0 + return FALSE var/list/obj/machinery/camera/CL = list() diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index babb529574..e600ffc6d6 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -70,10 +70,10 @@ H.mind.make_Traitor() candidates.Remove(H) - return 1 + return TRUE - return 0 + return FALSE /datum/admins/proc/makeChangelings() @@ -102,9 +102,9 @@ H.mind.make_Changeling() candidates.Remove(H) - return 1 + return TRUE - return 0 + return FALSE /datum/admins/proc/makeRevs() @@ -131,9 +131,9 @@ H = pick(candidates) H.mind.make_Rev() candidates.Remove(H) - return 1 + return TRUE - return 0 + return FALSE /datum/admins/proc/makeWizard() @@ -171,9 +171,9 @@ H.mind.make_Cultist() candidates.Remove(H) - return 1 + return TRUE - return 0 + return FALSE /datum/admins/proc/makeClockCult() @@ -206,9 +206,9 @@ SSticker.mode.equip_servant(H) candidates.Remove(H) - return 1 + return TRUE - return 0 + return FALSE @@ -236,7 +236,7 @@ break //Making sure we have atleast 3 Nuke agents, because less than that is kinda bad if(agentcount < 3) - return 0 + return FALSE //Let's find the spawn locations var/leader_chosen = FALSE @@ -249,9 +249,9 @@ nuke_team = N.nuke_team else new_character.mind.add_antag_datum(/datum/antagonist/nukeop,nuke_team) - return 1 + return TRUE else - return 0 + return FALSE @@ -451,8 +451,8 @@ //Abductors /datum/admins/proc/makeAbductorTeam() new /datum/round_event/ghost_role/abductor - return 1 + return TRUE /datum/admins/proc/makeRevenant() new /datum/round_event/ghost_role/revenant(TRUE, TRUE) - return 1 + return TRUE diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 48d9c396e4..c6867b312f 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -300,7 +300,7 @@ else to_chat(usr, "Error: create_xeno(): no suitable candidates.") if(!istext(ckey)) - return 0 + return FALSE var/alien_caste = input(usr, "Please choose which caste to spawn.","Pick a caste",null) as null|anything in list("Queen","Praetorian","Hunter","Sentinel","Drone","Larva") var/obj/effect/landmark/spawn_here = GLOB.xeno_spawn.len ? pick(GLOB.xeno_spawn) : null @@ -319,7 +319,7 @@ if("Larva") new_xeno = new /mob/living/carbon/alien/larva(spawn_here) else - return 0 + return FALSE if(!spawn_here) SSjob.SendToLateJoin(new_xeno, FALSE) @@ -327,7 +327,7 @@ var/msg = "[key_name_admin(usr)] has spawned [ckey] as a filthy xeno [alien_caste]." message_admins(msg) admin_ticket_log(new_xeno, msg) - return 1 + return TRUE /* If a guy was gibbed and you want to revive him, this is a good way to do so. @@ -1672,7 +1672,7 @@ Traitors and the like can also be revived with the previous role mostly intact. var/name = GLOB.trait_name_map[trait] || trait availible_traits[name] = trait - var/chosen_trait = input("Select trait to modify", "Trait") as null|anything in sortList(availible_traits) + var/chosen_trait = input("Select trait to modify", "Trait") as null|anything in sort_list(availible_traits) if(!chosen_trait) return chosen_trait = availible_traits[chosen_trait] @@ -1689,7 +1689,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if("All") source = null if("Specific") - source = input("Source to be removed","Trait Remove/Add") as null|anything in sortList(D.status_traits[chosen_trait]) + source = input("Source to be removed","Trait Remove/Add") as null|anything in sort_list(D.status_traits[chosen_trait]) if(!source) return REMOVE_TRAIT(D,chosen_trait,source) diff --git a/code/modules/admin/verbs/secrets.dm b/code/modules/admin/verbs/secrets.dm index d8bd1841bd..2bc93a5b19 100644 --- a/code/modules/admin/verbs/secrets.dm +++ b/code/modules/admin/verbs/secrets.dm @@ -246,7 +246,7 @@ var/datum/round_event_control/disease_outbreak/DC = locate(/datum/round_event_control/disease_outbreak) in SSevents.control E = DC.runEvent() if("Choose") - var/virus = input("Choose the virus to spread", "BIOHAZARD") as null|anything in sortList(typesof(/datum/disease), GLOBAL_PROC_REF(cmp_typepaths_asc)) + var/virus = input("Choose the virus to spread", "BIOHAZARD") as null|anything in sort_list(typesof(/datum/disease), GLOBAL_PROC_REF(cmp_typepaths_asc)) var/datum/round_event_control/disease_outbreak/DC = locate(/datum/round_event_control/disease_outbreak) in SSevents.control var/datum/round_event/disease_outbreak/DO = DC.runEvent() DO.virus_type = virus diff --git a/code/modules/admin/view_variables/get_variables.dm b/code/modules/admin/view_variables/get_variables.dm index 3f90002edc..1457731ee1 100644 --- a/code/modules/admin/view_variables/get_variables.dm +++ b/code/modules/admin/view_variables/get_variables.dm @@ -77,6 +77,15 @@ markstring = "[VV_MARKED_DATUM] (CURRENT: [(istype(holder) && istype(holder.marked_datum))? holder.marked_datum.type : "NULL"])" classes += markstring + var/list/tagstrings = new + if(!(VV_TAGGED_DATUM in restricted_classes) && holder && LAZYLEN(holder.tagged_datums)) + var/i = 0 + for(var/datum/iter_tagged_datum as anything in holder.tagged_datums) + i++ + var/new_tagstring = "[VV_TAGGED_DATUM] #[i]: [iter_tagged_datum.type])" + tagstrings[new_tagstring] = iter_tagged_datum + classes += new_tagstring + if(restricted_classes) classes -= restricted_classes @@ -87,6 +96,11 @@ if(holder && holder.marked_datum && .["class"] == markstring) .["class"] = VV_MARKED_DATUM + if(holder && tagstrings[.["class"]]) + var/datum/chosen_datum = tagstrings[.["class"]] + .["value"] = chosen_datum + .["class"] = VV_TAGGED_DATUM + switch(.["class"]) if(VV_TEXT) .["value"] = input("Enter new text:", "Text", current_value) as null|text @@ -202,6 +216,11 @@ .["class"] = null return + if(VV_TAGGED_DATUM) + if(.["value"] == null) + .["class"] = null + return + if(VV_PROCCALL_RETVAL) var/list/get_retval = list() callproc_blocking(get_retval) diff --git a/code/modules/admin/view_variables/mass_edit_variables.dm b/code/modules/admin/view_variables/mass_edit_variables.dm index 5b120b6cef..ba9a4d278c 100644 --- a/code/modules/admin/view_variables/mass_edit_variables.dm +++ b/code/modules/admin/view_variables/mass_edit_variables.dm @@ -29,7 +29,7 @@ for (var/V in O.vars) names += V - names = sortList(names) + names = sort_list(names) variable = input("Which var?", "Var") as null|anything in names else diff --git a/code/modules/admin/view_variables/modify_variables.dm b/code/modules/admin/view_variables/modify_variables.dm index 54af2a9481..bfa8fb146c 100644 --- a/code/modules/admin/view_variables/modify_variables.dm +++ b/code/modules/admin/view_variables/modify_variables.dm @@ -306,7 +306,7 @@ GLOBAL_PROTECT(VVpixelmovement) for (var/V in O.vars) names += V - names = sortList(names) + names = sort_list(names) variable = input("Which var?","Var") as null|anything in names if(!variable) diff --git a/code/modules/admin/view_variables/tag_datum.dm b/code/modules/admin/view_variables/tag_datum.dm new file mode 100644 index 0000000000..3b611e3cdf --- /dev/null +++ b/code/modules/admin/view_variables/tag_datum.dm @@ -0,0 +1,18 @@ +/client/proc/tag_datum(datum/target_datum) + if(!holder || QDELETED(target_datum)) + return + holder.add_tagged_datum(target_datum) + +/client/proc/toggle_tag_datum(datum/target_datum) + if(!holder || !target_datum) + return + + if(LAZYFIND(holder.tagged_datums, target_datum)) + holder.remove_tagged_datum(target_datum) + else + holder.add_tagged_datum(target_datum) + +/client/proc/tag_datum_mapview(datum/target_datum as mob|obj|turf|area in view(view)) + set category = "Debug" + set name = "Tag Datum" + tag_datum(target_datum) diff --git a/code/modules/admin/view_variables/topic_basic.dm b/code/modules/admin/view_variables/topic_basic.dm index 6629b2efc2..de7da94586 100644 --- a/code/modules/admin/view_variables/topic_basic.dm +++ b/code/modules/admin/view_variables/topic_basic.dm @@ -59,15 +59,17 @@ if(href_list[VV_HK_MARK]) usr.client.mark_datum(target) + if(href_list[VV_HK_TAG]) + usr.client.tag_datum(target) if(href_list[VV_HK_ADDCOMPONENT]) if(!check_rights(NONE)) return var/list/names = list() - var/list/componentsubtypes = sortList(subtypesof(/datum/component), GLOBAL_PROC_REF(cmp_typepaths_asc)) + var/list/componentsubtypes = sort_list(subtypesof(/datum/component), GLOBAL_PROC_REF(cmp_typepaths_asc)) names += "---Components---" names += componentsubtypes names += "---Elements---" - names += sortList(subtypesof(/datum/element), GLOBAL_PROC_REF(cmp_typepaths_asc)) + names += sort_list(subtypesof(/datum/element), GLOBAL_PROC_REF(cmp_typepaths_asc)) var/result = input(usr, "Choose a component/element to add","better know what ur fuckin doin pal") as null|anything in names if(!usr || !result || result == "---Components---" || result == "---Elements---") return diff --git a/code/modules/admin/view_variables/view_variables.dm b/code/modules/admin/view_variables/view_variables.dm index 6039e88d9d..a7faea2553 100644 --- a/code/modules/admin/view_variables/view_variables.dm +++ b/code/modules/admin/view_variables/view_variables.dm @@ -88,7 +88,7 @@ value = L[key] variable_html += debug_variable(i, value, 0, L) else - names = sortList(names) + names = sort_list(names) for(var/V in names) if(D.can_vv_get(V)) variable_html += D.vv_get_var(V) diff --git a/code/modules/antagonists/_common/antag_datum.dm b/code/modules/antagonists/_common/antag_datum.dm index 02a27b312f..136a4c6e69 100644 --- a/code/modules/antagonists/_common/antag_datum.dm +++ b/code/modules/antagonists/_common/antag_datum.dm @@ -449,7 +449,7 @@ GLOBAL_LIST_EMPTY(antagonists) antag_memory = new_memo /** - * Gets how fast we can hijack the shuttle, return 0 for can not hijack. + * Gets how fast we can hijack the shuttle, return FALSE for can not hijack. * Defaults to hijack_speed var, override for custom stuff like buffing hijack speed for hijack objectives or something. */ /datum/antagonist/proc/hijack_speed() diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index bcba1e1e1e..a12f050596 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -50,7 +50,7 @@ if(H.stat || H.restrained()) return if(!ishuman(H)) - return 1 + return TRUE if(loc == H || (in_range(src, H) && isturf(loc))) H.set_machine(src) diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm index 60c112a7e1..7506ae8975 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -59,7 +59,7 @@ H.update_inv_wear_suit() for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon() + A.UpdateButtons() /obj/item/clothing/suit/armor/abductor/vest/item_action_slot_check(slot, mob/user, datum/action/A) if(slot == ITEM_SLOT_OCLOTHING) //we only give the mob the ability to activate the vest if he's actually wearing it. diff --git a/code/modules/antagonists/blob/blob/blob_report.dm b/code/modules/antagonists/blob/blob/blob_report.dm index d532121e12..c417fa6574 100644 --- a/code/modules/antagonists/blob/blob/blob_report.dm +++ b/code/modules/antagonists/blob/blob/blob_report.dm @@ -61,7 +61,7 @@ /datum/station_state/proc/score(datum/station_state/result) if(!result) - return 0 + return FALSE var/output = 0 output += (result.floor / max(floor,1)) output += (result.r_wall/ max(r_wall,1)) diff --git a/code/modules/antagonists/blob/blob/blobs/blob_mobs.dm b/code/modules/antagonists/blob/blob/blobs/blob_mobs.dm index 1c98060d9b..833a8ee95e 100644 --- a/code/modules/antagonists/blob/blob/blobs/blob_mobs.dm +++ b/code/modules/antagonists/blob/blob/blobs/blob_mobs.dm @@ -53,7 +53,7 @@ /mob/living/simple_animal/hostile/blob/Process_Spacemove(movement_dir = 0) for(var/obj/structure/blob/B in range(1, src)) - return 1 + return TRUE return ..() /mob/living/simple_animal/hostile/blob/proc/blob_chat(msg) @@ -275,7 +275,7 @@ /mob/living/simple_animal/hostile/blob/blobbernaut/update_health_hud() if(hud_used) - hud_used.healths.maptext = "
    [round((health / maxHealth) * 100, 0.5)]%
    " + hud_used.healths.maptext = MAPTEXT("
    [round((health / maxHealth) * 100, 0.5)]%
    ") /mob/living/simple_animal/hostile/blob/blobbernaut/AttackingTarget() . = ..() diff --git a/code/modules/antagonists/blob/blob/blobstrains/_blobstrain.dm b/code/modules/antagonists/blob/blob/blobstrains/_blobstrain.dm index 8b6f4bd687..2c55cc6915 100644 --- a/code/modules/antagonists/blob/blob/blobstrains/_blobstrain.dm +++ b/code/modules/antagonists/blob/blob/blobstrains/_blobstrain.dm @@ -65,7 +65,7 @@ GLOBAL_LIST_INIT(valid_blobstrains, subtypesof(/datum/blobstrain) - list(/datum/ return /datum/blobstrain/proc/tesla_reaction(obj/structure/blob/B, power, coefficient = 1) //when the blob is hit by a tesla bolt, do this - return 1 //return 0 to ignore damage + return TRUE //return FALSE to ignore damage /datum/blobstrain/proc/extinguish_reaction(obj/structure/blob/B, coefficient = 1) //when the blob is hit with water, do this return diff --git a/code/modules/antagonists/blob/blob/blobstrains/_reagent.dm b/code/modules/antagonists/blob/blob/blobstrains/_reagent.dm index f47c3b3378..385fa1f7ae 100644 --- a/code/modules/antagonists/blob/blob/blobstrains/_reagent.dm +++ b/code/modules/antagonists/blob/blob/blobstrains/_reagent.dm @@ -29,5 +29,5 @@ /datum/reagent/blob/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O) if(M.stat == DEAD || istype(M, /mob/living/simple_animal/hostile/blob)) - return 0 //the dead, and blob mobs, don't cause reactions + return FALSE //the dead, and blob mobs, don't cause reactions return round(reac_volume * min(1.5 - touch_protection, 1), 0.1) //full touch protection means 50% volume, any prot below 0.5 means 100% volume. diff --git a/code/modules/antagonists/blob/blob/blobstrains/blazing_oil.dm b/code/modules/antagonists/blob/blob/blobstrains/blazing_oil.dm index be08266687..471d2d607d 100644 --- a/code/modules/antagonists/blob/blob/blobstrains/blazing_oil.dm +++ b/code/modules/antagonists/blob/blob/blobstrains/blazing_oil.dm @@ -23,7 +23,7 @@ if(!(C && C.overmind && C.overmind.blobstrain.type == B.overmind.blobstrain.type) && prob(80)) new /obj/effect/hotspot(T) if(damage_flag == FIRE) - return 0 + return FALSE return ..() /datum/reagent/blob/blazing_oil diff --git a/code/modules/antagonists/blob/blob/blobstrains/energized_jelly.dm b/code/modules/antagonists/blob/blob/blobstrains/energized_jelly.dm index c22b429e1b..a25a4d1974 100644 --- a/code/modules/antagonists/blob/blob/blobstrains/energized_jelly.dm +++ b/code/modules/antagonists/blob/blob/blobstrains/energized_jelly.dm @@ -15,7 +15,7 @@ return ..() /datum/blobstrain/reagent/energized_jelly/tesla_reaction(obj/structure/blob/B, power) - return 0 + return FALSE /datum/blobstrain/reagent/energized_jelly/emp_reaction(obj/structure/blob/B, severity) var/damage = rand(30, 50) - severity * rand(10, 15) diff --git a/code/modules/antagonists/blob/blob/blobstrains/explosive_lattice.dm b/code/modules/antagonists/blob/blob/blobstrains/explosive_lattice.dm index c805069a9c..afc83f5a62 100644 --- a/code/modules/antagonists/blob/blob/blobstrains/explosive_lattice.dm +++ b/code/modules/antagonists/blob/blob/blobstrains/explosive_lattice.dm @@ -13,7 +13,7 @@ /datum/blobstrain/reagent/explosive_lattice/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) if(damage_flag == BOMB) - return 0 + return FALSE else if(damage_flag != MELEE && damage_flag != BULLET && damage_flag != LASER) return damage * 1.5 return ..() diff --git a/code/modules/antagonists/blob/blob/blobstrains/multiplex.dm b/code/modules/antagonists/blob/blob/blobstrains/multiplex.dm index 191da6c51f..953608aa5c 100644 --- a/code/modules/antagonists/blob/blob/blobstrains/multiplex.dm +++ b/code/modules/antagonists/blob/blob/blobstrains/multiplex.dm @@ -29,7 +29,7 @@ for (var/datum/blobstrain/bt in blobstrains) . += bt.tesla_reaction(B, power, coefficient*typeshare) if (prob(. / length(blobstrains) * 100)) - return 1 + return TRUE /datum/blobstrain/multiplex/extinguish_reaction(obj/structure/blob/B, coefficient = 1) //when the blob is hit with water, do this for (var/datum/blobstrain/bt in blobstrains) diff --git a/code/modules/antagonists/blob/blob/blobstrains/reactive_spines.dm b/code/modules/antagonists/blob/blob/blobstrains/reactive_spines.dm index 84ff383dd1..104637aecc 100644 --- a/code/modules/antagonists/blob/blob/blobstrains/reactive_spines.dm +++ b/code/modules/antagonists/blob/blob/blobstrains/reactive_spines.dm @@ -26,5 +26,5 @@ /datum/reagent/blob/reactive_spines/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O) if(M.stat == DEAD || istype(M, /mob/living/simple_animal/hostile/blob)) - return 0 //the dead, and blob mobs, don't cause reactions + return FALSE //the dead, and blob mobs, don't cause reactions M.adjustBruteLoss(0.8*reac_volume) diff --git a/code/modules/antagonists/blob/blob/overmind.dm b/code/modules/antagonists/blob/blob/overmind.dm index 605e327443..f15234cd48 100644 --- a/code/modules/antagonists/blob/blob/overmind.dm +++ b/code/modules/antagonists/blob/blob/overmind.dm @@ -197,14 +197,14 @@ GLOBAL_LIST_EMPTY(blob_nodes) /mob/camera/blob/update_health_hud() if(blob_core) - hud_used.healths.maptext = "
    [round(blob_core.obj_integrity)]
    " + hud_used.healths.maptext = MAPTEXT("
    [round(blob_core.obj_integrity)]
    ") for(var/mob/living/simple_animal/hostile/blob/blobbernaut/B in blob_mobs) if(B.hud_used && B.hud_used.blobpwrdisplay) - B.hud_used.blobpwrdisplay.maptext = "
    [round(blob_core.obj_integrity)]
    " + B.hud_used.blobpwrdisplay.maptext = MAPTEXT("
    [round(blob_core.obj_integrity)]
    ") /mob/camera/blob/proc/add_points(points) blob_points = clamp(blob_points + points, 0, max_blob_points) - hud_used.blobpwrdisplay.maptext = "
    [round(blob_points)]
    " + hud_used.blobpwrdisplay.maptext = MAPTEXT("
    [round(blob_points)]
    ") /mob/camera/blob/say(message, bubble_type, var/list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null) if (!message) @@ -264,13 +264,13 @@ GLOBAL_LIST_EMPTY(blob_nodes) if(B) forceMove(NewLoc) else - return 0 + return FALSE else var/area/A = get_area(NewLoc) if(isspaceturf(NewLoc) || istype(A, /area/shuttle)) //if unplaced, can't go on shuttles or space tiles - return 0 + return FALSE forceMove(NewLoc) - return 1 + return TRUE /mob/camera/blob/mind_initialize() . = ..() diff --git a/code/modules/antagonists/blob/blob/powers.dm b/code/modules/antagonists/blob/blob/powers.dm index 9256d0d16b..18886765de 100644 --- a/code/modules/antagonists/blob/blob/powers.dm +++ b/code/modules/antagonists/blob/blob/powers.dm @@ -1,15 +1,15 @@ /mob/camera/blob/proc/can_buy(cost = 15) if(blob_points < cost) to_chat(src, "You cannot afford this, you need at least [cost] resources!") - return 0 + return FALSE add_points(-cost) - return 1 + return TRUE // Power verbs /mob/camera/blob/proc/place_blob_core(placement_override, pop_override = FALSE) if(placed && placement_override != -1) - return 1 + return TRUE if(!placement_override) if(!pop_override) for(var/mob/living/M in range(7, src)) @@ -17,30 +17,30 @@ continue if(M.client) to_chat(src, "There is someone too close to place your blob core!") - return 0 + return FALSE for(var/mob/living/M in view(13, src)) if(ROLE_BLOB in M.faction) continue if(M.client) to_chat(src, "Someone could see your blob core from here!") - return 0 + return FALSE var/turf/T = get_turf(src) if(T.density) to_chat(src, "This spot is too dense to place a blob core on!") - return 0 + return FALSE for(var/obj/O in T) if(istype(O, /obj/structure/blob)) if(istype(O, /obj/structure/blob/normal)) qdel(O) else to_chat(src, "There is already a blob here!") - return 0 + return FALSE else if(O.density) to_chat(src, "This spot is too dense to place a blob core on!") - return 0 + return FALSE if(!pop_override && world.time <= manualplace_min_time && world.time <= autoplace_max_time) to_chat(src, "It is too early to place your blob core!") - return 0 + return FALSE else if(placement_override == 1) var/turf/T = pick(GLOB.blobstart) forceMove(T) //got overrided? you're somewhere random, motherfucker @@ -54,7 +54,7 @@ core.update_icon() update_health_hud() placed = 1 - return 1 + return TRUE /mob/camera/blob/verb/transport_core() set category = "Blob" diff --git a/code/modules/antagonists/blob/blob/theblob.dm b/code/modules/antagonists/blob/blob/theblob.dm index ff6eab264b..7945cf9687 100644 --- a/code/modules/antagonists/blob/blob/theblob.dm +++ b/code/modules/antagonists/blob/blob/theblob.dm @@ -123,8 +123,8 @@ heal_timestamp = world.time + 20 update_icon() pulse_timestamp = world.time + 10 - return 1 //we did it, we were pulsed! - return 0 //oh no we failed + return TRUE //we did it, we were pulsed! + return FALSE //oh no we failed /obj/structure/blob/proc/ConsumeTile() for(var/atom/A in loc) @@ -157,7 +157,7 @@ else T = null if(!T) - return 0 + return FALSE var/make_blob = TRUE //can we make a blob? if(isspaceturf(T) && !(locate(/obj/structure/lattice) in T) && prob(80)) @@ -271,7 +271,7 @@ damage_amount *= fire_resist if(CLONE) else - return 0 + return FALSE var/armor_protection = 0 if(damage_flag) armor_protection = armor.getRating(damage_flag) diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm index c5f1cfbb40..a3b7fd4c0f 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm @@ -216,7 +216,7 @@ return // Disable Powers: Masquerade * NOTE * This should happen as a FLAW! //if (stat >= UNCONSCIOUS) - // for (var/datum/action/bloodsucker/masquerade/P in powers) + // for (var/datum/action/cooldown/bloodsucker/masquerade/P in powers) // P.Deactivate() // TEMP DEATH var/total_brute = owner.current.getBruteLoss_nonProsthetic() @@ -252,7 +252,7 @@ owner.current.update_sight() owner.current.reload_fullscreen() // Disable ALL Powers - for(var/datum/action/bloodsucker/power in powers) + for(var/datum/action/cooldown/bloodsucker/power in powers) if(power.active && !power.can_use_in_torpor) power.DeactivatePower() if(owner.current.suiciding) diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm b/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm index 0a799021e9..019bbe6fbd 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm @@ -1,22 +1,26 @@ -/datum/action/bloodsucker +/datum/action/cooldown/bloodsucker name = "Vampiric Gift" desc = "A vampiric gift." button_icon = 'icons/mob/actions/bloodsucker.dmi' //This is the file for the BACKGROUND icon background_icon_state = "vamp_power_off" //And this is the state for the background icon - var/background_icon_state_on = "vamp_power_on" // FULP: Our "ON" icon alternative. - var/background_icon_state_off = "vamp_power_off" // FULP: Our "OFF" icon alternative. icon_icon = 'icons/mob/actions/bloodsucker.dmi' //This is the file for the ACTION icon button_icon_state = "power_feed" //And this is the state for the action icon buttontooltipstyle = "cult" + transparent_when_unavailable = TRUE + + /// Cooldown you'll have to wait between each use, decreases depending on level. + cooldown_time = 2 SECONDS + + ///Background icon when the Power is active. + var/background_icon_state_on = "vamp_power_on" + ///Background icon when the Power is NOT active. + var/background_icon_state_off = "vamp_power_off" // Action-Related - //var/amPassive = FALSE // REMOVED: Just made it its own kind. // Am I just "on" at all times? (aka NO ICON) var/amTargetted = FALSE // Am I asked to choose a target when enabled? (Shows as toggled ON when armed) var/amToggle = FALSE // Can I be actively turned on and off? var/amSingleUse = FALSE // Am I removed after a single use? var/active = FALSE - var/cooldown = 20 // 10 ticks, 1 second. - var/cooldownUntil = 0 // From action.dm: next_use_time = world.time + cooldown_time // Power-Related var/level_current = 0 // Can increase to yield new abilities. Each power goes up in strength each Rank. //var/level_max = 1 // @@ -32,7 +36,7 @@ //var/not_bloodsucker = FALSE // This goes to Vassals or Hunters, but NOT bloodsuckers. var/must_be_concious = TRUE //Can't use this ability while unconcious. -/datum/action/bloodsucker/New() +/datum/action/cooldown/bloodsucker/New() if(bloodcost > 0) desc += "

    COST: [bloodcost] Blood" // Modify description to add cost. if(warn_constant_cost) @@ -46,7 +50,7 @@ // click.dm <--- Where we can take over mouse clicks // spells.dm /add_ranged_ability() <--- How we take over the mouse click to use a power on a target. -/datum/action/bloodsucker/Trigger() +/datum/action/cooldown/bloodsucker/Trigger() // Active? DEACTIVATE AND END! if(active && CheckCanDeactivate(TRUE)) DeactivatePower() @@ -56,7 +60,7 @@ PayCost() if(amToggle) active = !active - UpdateButtonIcon() + UpdateButtons() if(!amToggle || !active) StartCooldown() // Must come AFTER UpdateButton(), otherwise icon will revert. ActivatePower() // NOTE: ActivatePower() freezes this power in place until it ends. @@ -65,13 +69,13 @@ if(amSingleUse) RemoveAfterUse() -/datum/action/bloodsucker/proc/CheckCanPayCost(display_error) +/datum/action/cooldown/bloodsucker/proc/CheckCanPayCost(display_error) if(!owner || !owner.mind) return FALSE // Cooldown? - if(cooldownUntil > world.time) + if(next_use_time > world.time) if(display_error) - to_chat(owner, "[src] is unavailable. Wait [(cooldownUntil - world.time) / 10] seconds.") + to_chat(owner, "[src] is unavailable. Wait [(next_use_time - world.time) / 10] seconds.") return FALSE // Have enough blood? var/mob/living/L = owner @@ -81,7 +85,7 @@ return FALSE return TRUE -/datum/action/bloodsucker/proc/CheckCanUse(display_error) // These checks can be scanned every frame while a ranged power is on. +/datum/action/cooldown/bloodsucker/proc/CheckCanUse(display_error) // These checks can be scanned every frame while a ranged power is on. if(!owner || !owner.mind) return FALSE // Torpor? @@ -123,79 +127,43 @@ return FALSE return TRUE -/datum/action/bloodsucker/proc/StartCooldown() - set waitfor = FALSE - // Alpha Out - button.color = rgb(128,0,0,128) - button.alpha = 100 - // Calculate Cooldown (by power's level) - var/this_cooldown = (cooldown_static || amSingleUse) ? cooldown : max(cooldown / 2, cooldown - (cooldown / 16 * (level_current-1))) - // NOTE: With this formula, you'll hit half cooldown at level 8 for that power. - - // Wait for cooldown - cooldownUntil = world.time + this_cooldown - spawn(this_cooldown) - // Alpha In - button.color = rgb(255,255,255,255) - button.alpha = 255 - -/datum/action/bloodsucker/proc/CheckCanDeactivate(display_error) +/datum/action/cooldown/bloodsucker/proc/CheckCanDeactivate(display_error) return TRUE -/datum/action/bloodsucker/UpdateButtonIcon(force = FALSE) +/datum/action/cooldown/bloodsucker/UpdateButton(atom/movable/screen/movable/action_button/button, force = FALSE) background_icon_state = active? background_icon_state_on : background_icon_state_off - ..()//UpdateButtonIcon() + ..()//UpdateButton() - -/datum/action/bloodsucker/proc/PayCost() +/datum/action/cooldown/bloodsucker/proc/PayCost() // owner for actions is the mob, not mind. var/mob/living/L = owner L.blood_volume -= bloodcost -/datum/action/bloodsucker/proc/ActivatePower() +/datum/action/cooldown/bloodsucker/proc/ActivatePower() -/datum/action/bloodsucker/proc/DeactivatePower(mob/living/user = owner, mob/living/target) +/datum/action/cooldown/bloodsucker/proc/DeactivatePower(mob/living/user = owner, mob/living/target) active = FALSE - UpdateButtonIcon() + UpdateButtons() StartCooldown() -/datum/action/bloodsucker/proc/ContinueActive(mob/living/user, mob/living/target) // Used by loops to make sure this power can stay active. +/datum/action/cooldown/bloodsucker/proc/ContinueActive(mob/living/user, mob/living/target) // Used by loops to make sure this power can stay active. return active && user && (!warn_constant_cost || user.blood_volume > 0) -/datum/action/bloodsucker/proc/RemoveAfterUse() +/datum/action/cooldown/bloodsucker/proc/RemoveAfterUse() // Un-Learn Me! (GO HOME var/datum/antagonist/bloodsucker/bloodsuckerdatum = owner.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) if (istype(bloodsuckerdatum)) bloodsuckerdatum.powers -= src Remove(owner) -/datum/action/bloodsucker/proc/Upgrade() +/datum/action/cooldown/bloodsucker/proc/Upgrade() level_current ++ -/////////////////////////////////// PASSIVE POWERS /////////////////////////////////// - -// New Type: Passive (Always on, no button) -/datum/action/bloodsucker/passive - -/datum/action/bloodsucker/passive/New() - // REMOVED: DO NOTHBING! - ..() - // Don't Display Button! (it doesn't do anything anyhow) - button.screen_loc = DEFAULT_BLOODSPELLS - button.moved = DEFAULT_BLOODSPELLS - button.ordered = FALSE - -/datum/action/bloodsucker/passive/Destroy() - if(owner) - Remove(owner) - target = null - return ..() - /////////////////////////////////// TARGETTED POWERS /////////////////////////////////// -/datum/action/bloodsucker/targeted +/datum/action/cooldown/bloodsucker/targeted // NOTE: All Targeted spells are Toggles! We just don't bother checking here. var/target_range = 99 var/message_Trigger = "Select a target." @@ -204,7 +172,7 @@ var/power_in_use = FALSE // Is this power LOCKED due to being used? -/datum/action/bloodsucker/targeted/New(Target) +/datum/action/cooldown/bloodsucker/targeted/New(Target) desc += "
    \[Targeted Power\]" // Modify description to add notice that this is aimed. ..() // Create Proc Holder for intercepting clicks @@ -212,7 +180,7 @@ bs_proc_holder.linked_power = src // Click power: Begin Aim -/datum/action/bloodsucker/targeted/Trigger() +/datum/action/cooldown/bloodsucker/targeted/Trigger() if(active && CheckCanDeactivate(TRUE)) DeactivateRangedAbility() DeactivatePower() @@ -220,7 +188,7 @@ if(!CheckCanPayCost(TRUE) || !CheckCanUse(TRUE)) return active = !active - UpdateButtonIcon() + UpdateButtons() // Create & Link Targeting Proc var/mob/living/L = owner if(L.ranged_ability) @@ -230,7 +198,7 @@ if(message_Trigger != "") to_chat(owner, "[message_Trigger]") -/datum/action/bloodsucker/targeted/CheckCanUse(display_error) +/datum/action/cooldown/bloodsucker/targeted/CheckCanUse(display_error) . = ..() if(!.) return @@ -238,21 +206,21 @@ return FALSE // doesn't let you remove powers if you're not there. So, let's just cancel the power entirely. return TRUE -/datum/action/bloodsucker/targeted/DeactivatePower(mob/living/user = owner, mob/living/target) +/datum/action/cooldown/bloodsucker/targeted/DeactivatePower(mob/living/user = owner, mob/living/target) // Don't run ..(), we don't want to engage the cooldown until we USE this power! active = FALSE - UpdateButtonIcon() + UpdateButtons() -/datum/action/bloodsucker/targeted/proc/DeactivateRangedAbility() +/datum/action/cooldown/bloodsucker/targeted/proc/DeactivateRangedAbility() // Only Turned off when CLICK is disabled...aka, when you successfully clicked (or bs_proc_holder.remove_ranged_ability() // Check if target is VALID (wall, turf, or character?) -/datum/action/bloodsucker/targeted/proc/CheckValidTarget(atom/A) +/datum/action/cooldown/bloodsucker/targeted/proc/CheckValidTarget(atom/A) return FALSE // FALSE targets nothing. // Check if valid target meets conditions -/datum/action/bloodsucker/targeted/proc/CheckCanTarget(atom/A, display_error) +/datum/action/cooldown/bloodsucker/targeted/proc/CheckCanTarget(atom/A, display_error) // Out of Range if(!(A in view(target_range, owner))) if(display_error && target_range > 1) // Only warn for range if it's greater than 1. Brawn doesn't need to announce itself. @@ -261,7 +229,7 @@ return istype(A) // Click Target -/datum/action/bloodsucker/targeted/proc/ClickWithPower(atom/A) +/datum/action/cooldown/bloodsucker/targeted/proc/ClickWithPower(atom/A) // CANCEL RANGED TARGET check if(power_in_use || !CheckValidTarget(A)) return FALSE @@ -276,21 +244,21 @@ power_in_use = FALSE return TRUE -/datum/action/bloodsucker/targeted/proc/FireTargetedPower(atom/A) +/datum/action/cooldown/bloodsucker/targeted/proc/FireTargetedPower(atom/A) // Like ActivatePower, but specific to Targeted (and takes an atom input). We don't use ActivatePower for targeted. -/datum/action/bloodsucker/targeted/proc/PowerActivatedSuccessfully() +/datum/action/cooldown/bloodsucker/targeted/proc/PowerActivatedSuccessfully() // The power went off! We now pay the cost of the power. PayCost() DeactivateRangedAbility() DeactivatePower() StartCooldown() // Do AFTER UpdateIcon() inside of DeactivatePower. Otherwise icon just gets wiped. -/datum/action/bloodsucker/targeted/ContinueActive(mob/living/user, mob/living/target) // Used by loops to make sure this power can stay active. +/datum/action/cooldown/bloodsucker/targeted/ContinueActive(mob/living/user, mob/living/target) // Used by loops to make sure this power can stay active. return ..() // Target Proc Holder /obj/effect/proc_holder/bloodsucker - var/datum/action/bloodsucker/targeted/linked_power + var/datum/action/cooldown/bloodsucker/targeted/linked_power /obj/effect/proc_holder/bloodsucker/remove_ranged_ability(msg) ..() diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_sunlight.dm b/code/modules/antagonists/bloodsucker/bloodsucker_sunlight.dm index a86cb374d2..88a4b6bb32 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_sunlight.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_sunlight.dm @@ -55,8 +55,8 @@ bloodsuckerdatum.warn_sun_locker = FALSE bloodsuckerdatum.warn_sun_burn = FALSE // Remove Dawn Powers - for(var/datum/action/bloodsucker/P in bloodsuckerdatum.powers) - if(istype(P, /datum/action/bloodsucker/gohome)) + for(var/datum/action/cooldown/bloodsucker/P in bloodsuckerdatum.powers) + if(istype(P, /datum/action/cooldown/bloodsucker/gohome)) bloodsuckerdatum.powers -= P P.Remove(M.current) nighttime_duration += 100 //Each day makes the night a minute longer. @@ -149,5 +149,5 @@ if(!istype(M) || !istype(M.current)) continue var/datum/antagonist/bloodsucker/bloodsuckerdatum = M.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) - if(istype(bloodsuckerdatum) && bloodsuckerdatum.lair && !(locate(/datum/action/bloodsucker/gohome) in bloodsuckerdatum.powers)) - bloodsuckerdatum.BuyPower(new /datum/action/bloodsucker/gohome) + if(istype(bloodsuckerdatum) && bloodsuckerdatum.lair && !(locate(/datum/action/cooldown/bloodsucker/gohome) in bloodsuckerdatum.powers)) + bloodsuckerdatum.BuyPower(new /datum/action/cooldown/bloodsucker/gohome) diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_ui.dm b/code/modules/antagonists/bloodsucker/bloodsucker_ui.dm index 486ae51117..3edffe9c31 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_ui.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_ui.dm @@ -14,7 +14,7 @@ dat += "
    " // Step One: Decide powers you CAN buy. - for(var/pickedpower in typesof(/datum/action/bloodsucker)) + for(var/pickedpower in typesof(/datum/action/cooldown/bloodsucker)) var/obj/effect/proc_holder/spell/bloodsucker/power = pickedpower // NAME dat += "[power.name]" diff --git a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm index 9f44ed687f..56ebb8fd87 100644 --- a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm +++ b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm @@ -168,7 +168,7 @@ return fullname -/datum/antagonist/bloodsucker/proc/BuyPower(datum/action/bloodsucker/power)//(obj/effect/proc_holder/spell/power) +/datum/antagonist/bloodsucker/proc/BuyPower(datum/action/cooldown/bloodsucker/power)//(obj/effect/proc_holder/spell/power) powers += power power.Grant(owner.current)// owner.AddSpell(power) @@ -177,9 +177,9 @@ add_hud() update_hud(TRUE) // Set blood value, current rank // Powers - BuyPower(new /datum/action/bloodsucker/feed) - BuyPower(new /datum/action/bloodsucker/masquerade) - BuyPower(new /datum/action/bloodsucker/veil) + BuyPower(new /datum/action/cooldown/bloodsucker/feed) + BuyPower(new /datum/action/cooldown/bloodsucker/masquerade) + BuyPower(new /datum/action/cooldown/bloodsucker/veil) // Traits for(var/T in defaultTraits) ADD_TRAIT(owner.current, T, BLOODSUCKER_TRAIT) @@ -221,7 +221,7 @@ remove_hud() // Powers while(powers.len) - var/datum/action/bloodsucker/power = pick(powers) + var/datum/action/cooldown/bloodsucker/power = pick(powers) powers -= power power.Remove(owner.current) // owner.RemoveSpell(power) @@ -267,7 +267,7 @@ to_chat(owner, "Bloodsucker Tip: If you cannot find or steal a coffin to use, you can build one from wooden planks.
    ") /datum/antagonist/bloodsucker/proc/LevelUpPowers() - for(var/datum/action/bloodsucker/power in powers) + for(var/datum/action/cooldown/bloodsucker/power in powers) power.level_current ++ /datum/antagonist/bloodsucker/proc/SpendRank() @@ -281,8 +281,8 @@ //TODO: Make this into a radial, or perhaps a tgui next UI // Purchase Power Prompt var/list/options = list() - for(var/pickedpower in typesof(/datum/action/bloodsucker)) - var/datum/action/bloodsucker/power = pickedpower + for(var/pickedpower in typesof(/datum/action/cooldown/bloodsucker)) + var/datum/action/cooldown/bloodsucker/power = pickedpower // If I don't own it, and I'm allowed to buy it. if(!(locate(power) in powers) && initial(power.bloodsucker_can_buy)) options[initial(power.name)] = power // TESTING: After working with TGUI, it seems you can use initial() to view the variables inside a path? @@ -303,7 +303,7 @@ to_chat(owner.current, "You dont have enough blood to thicken your blood, you need [level_bloodcost - L.blood_volume] units more!") return // Buy New Powers - var/datum/action/bloodsucker/P = options[choice] + var/datum/action/cooldown/bloodsucker/P = options[choice] AddBloodVolume(-level_bloodcost) BuyPower(new P) to_chat(owner.current, "You have used [level_bloodcost] units of blood and learned [initial(P.name)]!") @@ -725,7 +725,7 @@ /atom/movable/screen/bloodsucker/blood_counter/update_counter(value, valuecolor) ..() - maptext = "
    [round(value,1)]
    " + maptext = MAPTEXT("
    [round(value,1)]
    ") /atom/movable/screen/bloodsucker/rank_counter name = "Bloodsucker Rank" @@ -735,7 +735,7 @@ /atom/movable/screen/bloodsucker/rank_counter/update_counter(value, valuecolor) ..() - maptext = "
    [round(value,1)]
    " + maptext = MAPTEXT("
    [round(value,1)]
    ") /atom/movable/screen/bloodsucker/sunlight_counter icon = 'icons/mob/actions/bloodsucker.dmi' @@ -763,7 +763,7 @@ /atom/movable/screen/bloodsucker/sunlight_counter/update_counter(value, valuecolor) ..() - maptext = "
    [value]
    " + maptext = MAPTEXT("
    [value]
    ") /datum/antagonist/bloodsucker/proc/count_vassals(datum/mind/master) var/datum/antagonist/bloodsucker/B = master.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) diff --git a/code/modules/antagonists/bloodsucker/datum_hunter.dm b/code/modules/antagonists/bloodsucker/datum_hunter.dm index b221a83a60..9c862fe42a 100644 --- a/code/modules/antagonists/bloodsucker/datum_hunter.dm +++ b/code/modules/antagonists/bloodsucker/datum_hunter.dm @@ -26,7 +26,7 @@ //owner.current.apply_status_effect(/datum/status_effect/agent_pinpointer/hunter_edition) // Give Hunter Power - var/datum/action/P = new /datum/action/bloodsucker/trackvamp + var/datum/action/P = new /datum/action/cooldown/bloodsucker/trackvamp P.Grant(owner.current) // Give Hunter Martial Arts @@ -69,7 +69,7 @@ // Take Hunter Power if (owner.current) - for (var/datum/action/bloodsucker/P in owner.current.actions) + for (var/datum/action/cooldown/bloodsucker/P in owner.current.actions) P.Remove(owner.current) // Take Hunter Martial Arts @@ -166,7 +166,7 @@ /* -/datum/action/bloodsucker/trackvamp/ +/datum/action/cooldown/bloodsucker/trackvamp/ name = "Track Monster"//"Cellular Emporium" desc = "Take a moment to look for clues of any nearby monsters.
    These creatures are slippery, and often look like the crew." button_icon = 'icons/mob/actions/bloodsucker.dmi' //This is the file for the BACKGROUND icon @@ -177,7 +177,7 @@ cooldown = 300 // 10 ticks, 1 second. bloodcost = 0 -/datum/action/bloodsucker/trackvamp/ActivatePower() +/datum/action/cooldown/bloodsucker/trackvamp/ActivatePower() var/mob/living/user = owner to_chat(user, "You look around, scanning your environment and discerning signs of any filthy, wretched affronts to the natural order.") @@ -192,7 +192,7 @@ // NOTE: DON'T DEACTIVATE! //DeactivatePower() -/datum/action/bloodsucker/trackvamp/proc/display_proximity() +/datum/action/cooldown/bloodsucker/trackvamp/proc/display_proximity() // Pick target var/turf/my_loc = get_turf(owner) //var/list/mob/living/carbon/vamps = list() diff --git a/code/modules/antagonists/bloodsucker/datum_vassal.dm b/code/modules/antagonists/bloodsucker/datum_vassal.dm index 5162897d60..9a2e3a1ae6 100644 --- a/code/modules/antagonists/bloodsucker/datum_vassal.dm +++ b/code/modules/antagonists/bloodsucker/datum_vassal.dm @@ -38,7 +38,7 @@ // Master Pinpointer owner.current.apply_status_effect(/datum/status_effect/agent_pinpointer/vassal_edition) // Powers - var/datum/action/bloodsucker/vassal/recuperate/new_Recuperate = new () + var/datum/action/cooldown/bloodsucker/vassal/recuperate/new_Recuperate = new () new_Recuperate.Grant(owner.current) powers += new_Recuperate // Give Vassal Objective diff --git a/code/modules/antagonists/bloodsucker/items/bloodsucker_organs.dm b/code/modules/antagonists/bloodsucker/items/bloodsucker_organs.dm index 25de64fe34..5f3a3dcc6f 100644 --- a/code/modules/antagonists/bloodsucker/items/bloodsucker_organs.dm +++ b/code/modules/antagonists/bloodsucker/items/bloodsucker_organs.dm @@ -33,7 +33,7 @@ /obj/item/organ/heart/vampheart/Restart() beating = 0 // DONT run ..(). We don't want to start beating again. - return 0 + return FALSE /obj/item/organ/heart/vampheart/Stop() fakingit = 0 diff --git a/code/modules/antagonists/bloodsucker/objects/bloodsucker_coffin.dm b/code/modules/antagonists/bloodsucker/objects/bloodsucker_coffin.dm index d58190cf66..df4a11b927 100644 --- a/code/modules/antagonists/bloodsucker/objects/bloodsucker_coffin.dm +++ b/code/modules/antagonists/bloodsucker/objects/bloodsucker_coffin.dm @@ -122,7 +122,7 @@ update_icon() //to_chat(user, "You flip a secret latch and unlock [src].") // Don't bother. We know it's unlocked. locked = FALSE - return 1 + return TRUE else playsound(get_turf(src), 'sound/machines/door_locked.ogg', 20, 1) to_chat(user, "[src] is locked tight from the inside.") diff --git a/code/modules/antagonists/bloodsucker/powers/brawn.dm b/code/modules/antagonists/bloodsucker/powers/brawn.dm index db3ce92ec1..25a04d16cc 100644 --- a/code/modules/antagonists/bloodsucker/powers/brawn.dm +++ b/code/modules/antagonists/bloodsucker/powers/brawn.dm @@ -1,11 +1,11 @@ -/datum/action/bloodsucker/targeted/brawn +/datum/action/cooldown/bloodsucker/targeted/brawn name = "Brawn" desc = "Snap restraints with ease, or deal terrible damage with your bare hands." button_icon_state = "power_strength" bloodcost = 10 - cooldown = 90 + cooldown_time = 90 target_range = 1 power_activates_immediately = TRUE message_Trigger = ""//"Whom will you subvert to your will?" @@ -16,7 +16,7 @@ var/upgrade_canLocker = FALSE var/upgrade_canDoor = FALSE -/datum/action/bloodsucker/targeted/brawn/CheckCanUse(display_error) +/datum/action/cooldown/bloodsucker/targeted/brawn/CheckCanUse(display_error) . = ..() if(!.) return @@ -38,10 +38,10 @@ // NOTE: We use . = FALSE so that we can break cuffs AND throw off our attacker in one use! //return TRUE -/datum/action/bloodsucker/targeted/brawn/CheckValidTarget(atom/A) +/datum/action/cooldown/bloodsucker/targeted/brawn/CheckValidTarget(atom/A) return isliving(A) || istype(A, /obj/machinery/door) -/datum/action/bloodsucker/targeted/brawn/CheckCanTarget(atom/A, display_error) +/datum/action/cooldown/bloodsucker/targeted/brawn/CheckCanTarget(atom/A, display_error) // DEFAULT CHECKS (Distance) if(!..()) // Disable range notice for Brawn. return FALSE @@ -59,7 +59,7 @@ return TRUE return ..() // yes, FALSE! You failed if you got here! BAD TARGET -/datum/action/bloodsucker/targeted/brawn/FireTargetedPower(atom/A) +/datum/action/cooldown/bloodsucker/targeted/brawn/FireTargetedPower(atom/A) // set waitfor = FALSE <---- DONT DO THIS!We WANT this power to hold up ClickWithPower(), so that we can unlock the power when it's done. var/mob/living/carbon/target = A var/mob/living/user = owner @@ -97,7 +97,7 @@ D.open(2) // open(2) is like a crowbar or jaws of life. // Target Type: Closet -/datum/action/bloodsucker/targeted/brawn/proc/CheckBreakRestraints() +/datum/action/cooldown/bloodsucker/targeted/brawn/proc/CheckBreakRestraints() if(!iscarbon(owner)) // || !owner.restrained() return FALSE // (NOTE: Just like biodegrade.dm, we only remove one thing per use // @@ -131,7 +131,7 @@ return TRUE return FALSE -/datum/action/bloodsucker/targeted/brawn/proc/CheckEscapePuller() +/datum/action/cooldown/bloodsucker/targeted/brawn/proc/CheckEscapePuller() if(!owner.pulledby)// || owner.pulledby.grab_state <= GRAB_PASSIVE) return FALSE var/mob/M = owner.pulledby @@ -153,7 +153,7 @@ owner.pulledby = null // It's already done, but JUST IN CASE. return TRUE /* Doesnt work -/datum/action/bloodsucker/targeted/brawn/proc/CheckBreakLocker() +/datum/action/cooldown/bloodsucker/targeted/brawn/proc/CheckBreakLocker() if(!istype(owner.loc, /obj/structure/closet)) return FALSE playsound(get_turf(owner), 'sound/machines/airlock_alien_prying.ogg', 40, 1, -1) diff --git a/code/modules/antagonists/bloodsucker/powers/cloak.dm b/code/modules/antagonists/bloodsucker/powers/cloak.dm index 5383e8c1ac..cb3a1e9fcf 100644 --- a/code/modules/antagonists/bloodsucker/powers/cloak.dm +++ b/code/modules/antagonists/bloodsucker/powers/cloak.dm @@ -1,11 +1,11 @@ -/datum/action/bloodsucker/cloak +/datum/action/cooldown/bloodsucker/cloak name = "Cloak of Darkness" desc = "Blend into the shadows and become invisible to the untrained eye. Movement is slowed in brightly lit areas, and you cannot dissapear while mortals watch you." button_icon_state = "power_cloak" bloodcost = 5 - cooldown = 50 + cooldown_time = 50 bloodsucker_can_buy = TRUE amToggle = TRUE warn_constant_cost = TRUE @@ -14,7 +14,7 @@ var/walk_threshold = 0.4 // arbitrary number, to be changed. edit in last commit: this is fine after testing on box station for a bit var/lum -/datum/action/bloodsucker/cloak/CheckCanUse(display_error) +/datum/action/cooldown/bloodsucker/cloak/CheckCanUse(display_error) . = ..() if(!.) return @@ -24,7 +24,7 @@ return FALSE return TRUE -/datum/action/bloodsucker/cloak/ActivatePower() +/datum/action/cooldown/bloodsucker/cloak/ActivatePower() var/datum/antagonist/bloodsucker/bloodsuckerdatum = owner.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) var/mob/living/user = owner @@ -52,7 +52,7 @@ sleep(5) // Check every few ticks -/datum/action/bloodsucker/cloak/ContinueActive(mob/living/user, mob/living/target) +/datum/action/cooldown/bloodsucker/cloak/ContinueActive(mob/living/user, mob/living/target) if (!..()) return FALSE if(user.stat == !CONSCIOUS) // Must be CONSCIOUS @@ -60,7 +60,7 @@ return FALSE return TRUE -/datum/action/bloodsucker/cloak/DeactivatePower(mob/living/user = owner, mob/living/target) +/datum/action/cooldown/bloodsucker/cloak/DeactivatePower(mob/living/user = owner, mob/living/target) ..() REMOVE_TRAIT(user, TRAIT_NORUNNING, "cloak of darkness") user.alpha = 255 diff --git a/code/modules/antagonists/bloodsucker/powers/feed.dm b/code/modules/antagonists/bloodsucker/powers/feed.dm index 284356a296..bfcf274121 100644 --- a/code/modules/antagonists/bloodsucker/powers/feed.dm +++ b/code/modules/antagonists/bloodsucker/powers/feed.dm @@ -1,12 +1,12 @@ -/datum/action/bloodsucker/feed +/datum/action/cooldown/bloodsucker/feed name = "Feed" desc = "Draw the heartsblood of living victims in your grasp.
    None/Passive: Feed silently and unnoticed by your victim.
    Aggressive: Subdue your target quickly." button_icon_state = "power_feed" bloodcost = 0 - cooldown = 30 + cooldown_time = 30 amToggle = TRUE bloodsucker_can_buy = TRUE can_be_staked = TRUE @@ -16,7 +16,7 @@ var/mob/living/feed_target // So we can validate more than just the guy we're grappling. var/target_grappled = FALSE // If you started grappled, then ending it will end your Feed. -/datum/action/bloodsucker/feed/CheckCanUse(display_error) +/datum/action/cooldown/bloodsucker/feed/CheckCanUse(display_error) . = ..() if(!.) return @@ -33,7 +33,7 @@ // DONE! return TRUE -/datum/action/bloodsucker/feed/proc/ValidateTarget(mob/living/target, display_error) // Called twice: validating a subtle victim, or validating your grapple victim. +/datum/action/cooldown/bloodsucker/feed/proc/ValidateTarget(mob/living/target, display_error) // Called twice: validating a subtle victim, or validating your grapple victim. // Bloodsuckers + Animals MUST be grabbed aggressively! if(!owner.pulling || target == owner.pulling && owner.grab_state < GRAB_AGGRESSIVE) // NOTE: It's OKAY that we are checking if(!target) below, AFTER animals here. We want passive check vs animal to warn you first, THEN the standard warning. @@ -76,7 +76,7 @@ return TRUE // If I'm not grabbing someone, find me someone nearby. -/datum/action/bloodsucker/feed/proc/FindMyTarget(display_error) +/datum/action/cooldown/bloodsucker/feed/proc/FindMyTarget(display_error) // Default feed_target = null target_grappled = FALSE @@ -132,7 +132,7 @@ feed_target = pick(targets_valid)//targets[1] return TRUE -/datum/action/bloodsucker/feed/ActivatePower() +/datum/action/cooldown/bloodsucker/feed/ActivatePower() // set waitfor = FALSE <---- DONT DO THIS!We WANT this power to hold up Activate(), so Deactivate() can happen after. var/mob/living/target = feed_target // Stored during CheckCanUse(). Can be a grabbed OR adjecent character. var/mob/living/user = owner @@ -302,16 +302,16 @@ CheckKilledTarget(user,target) -/datum/action/bloodsucker/feed/proc/CheckKilledTarget(mob/living/user, mob/living/target) +/datum/action/cooldown/bloodsucker/feed/proc/CheckKilledTarget(mob/living/user, mob/living/target) // Bad Bloodsucker. You shouldn't do that. if(target && target.stat >= DEAD && ishuman(target)) SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "drankkilled", /datum/mood_event/drankkilled) // BAD // in bloodsucker_life.dm -/datum/action/bloodsucker/feed/ContinueActive(mob/living/user, mob/living/target) +/datum/action/cooldown/bloodsucker/feed/ContinueActive(mob/living/user, mob/living/target) return ..() && target && (!target_grappled || user.pulling == target) && blood_sucking_checks(target, TRUE, TRUE) // Active, and still antag, // NOTE: We only care about pulling if target started off that way. Mostly only important for Aggressive feed. -/datum/action/bloodsucker/feed/proc/ApplyVictimEffects(mob/living/target) +/datum/action/cooldown/bloodsucker/feed/proc/ApplyVictimEffects(mob/living/target) // Bloodsuckers not affected by "the Kiss" of another vampire if(!target.mind || !target.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)) target.Unconscious(50,0) @@ -320,7 +320,7 @@ if(ishuman(target)) target.adjustStaminaLoss(5, forced = TRUE)// Base Stamina Damage -/datum/action/bloodsucker/feed/DeactivatePower(mob/living/user = owner, mob/living/target) +/datum/action/cooldown/bloodsucker/feed/DeactivatePower(mob/living/user = owner, mob/living/target) ..() // activate = FALSE var/datum/antagonist/bloodsucker/bloodsuckerdatum = user.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) // No longer Feeding diff --git a/code/modules/antagonists/bloodsucker/powers/fortitude.dm b/code/modules/antagonists/bloodsucker/powers/fortitude.dm index 740ec81782..c343270910 100644 --- a/code/modules/antagonists/bloodsucker/powers/fortitude.dm +++ b/code/modules/antagonists/bloodsucker/powers/fortitude.dm @@ -2,12 +2,12 @@ -/datum/action/bloodsucker/fortitude +/datum/action/cooldown/bloodsucker/fortitude name = "Fortitude" desc = "Withstand egregious physical wounds and walk away from attacks that would stun, pierce, and dismember lesser beings. You cannot run while active." button_icon_state = "power_fortitude" bloodcost = 30 - cooldown = 80 + cooldown_time = 80 bloodsucker_can_buy = TRUE amToggle = TRUE warn_constant_cost = TRUE @@ -15,7 +15,7 @@ var/fortitude_resist // So we can raise and lower your brute resist based on what your level_current WAS. -/datum/action/bloodsucker/fortitude/ActivatePower() +/datum/action/cooldown/bloodsucker/fortitude/ActivatePower() var/datum/antagonist/bloodsucker/B = owner.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) var/mob/living/user = owner to_chat(user, "Your flesh, skin, and muscles become as steel.") @@ -47,8 +47,8 @@ B.AddBloodVolume(-0.5) sleep(20) // Check every few ticks that we haven't disabled this power // Return to Running (if you were before) - -/datum/action/bloodsucker/fortitude/DeactivatePower(mob/living/user = owner, mob/living/target) + +/datum/action/cooldown/bloodsucker/fortitude/DeactivatePower(mob/living/user = owner, mob/living/target) ..() // Restore Traits & Effects REMOVE_TRAIT(user, TRAIT_PIERCEIMMUNE, "fortitude") diff --git a/code/modules/antagonists/bloodsucker/powers/go_home.dm b/code/modules/antagonists/bloodsucker/powers/go_home.dm index a8060ad07e..e78b9089fb 100644 --- a/code/modules/antagonists/bloodsucker/powers/go_home.dm +++ b/code/modules/antagonists/bloodsucker/powers/go_home.dm @@ -1,6 +1,6 @@ -/datum/action/bloodsucker/gohome +/datum/action/cooldown/bloodsucker/gohome name = "Vanishing Act" desc = "As dawn aproaches, disperse into mist and return directly to your Lair.
    WARNING: You will drop ALL of your possessions if observed by mortals." button_icon_state = "power_gohome" @@ -8,7 +8,7 @@ background_icon_state_off = "vamp_power_off_oneshot" bloodcost = 100 - cooldown = 99999 // It'll never come back. + cooldown_time = 99999 // It'll never come back. amToggle = FALSE amSingleUse = TRUE @@ -18,7 +18,7 @@ can_be_immobilized = TRUE must_be_concious = FALSE -/datum/action/bloodsucker/gohome/CheckCanUse(display_error) +/datum/action/cooldown/bloodsucker/gohome/CheckCanUse(display_error) . = ..() if(!.) return @@ -30,12 +30,12 @@ return FALSE return TRUE -/datum/action/bloodsucker/gohome/proc/flicker_lights(var/flicker_range, var/beat_volume) +/datum/action/cooldown/bloodsucker/gohome/proc/flicker_lights(var/flicker_range, var/beat_volume) for(var/obj/machinery/light/L in view(flicker_range, get_turf(owner))) playsound(get_turf(owner), 'sound/effects/singlebeat.ogg', beat_volume, 1) -/datum/action/bloodsucker/gohome/ActivatePower() +/datum/action/cooldown/bloodsucker/gohome/ActivatePower() var/mob/living/carbon/user = owner var/datum/antagonist/bloodsucker/bloodsuckerdatum = owner.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) // IMPORTANT: Check for lair at every step! It might get destroyed. diff --git a/code/modules/antagonists/bloodsucker/powers/haste.dm b/code/modules/antagonists/bloodsucker/powers/haste.dm index 5c5df41cdc..e783afd360 100644 --- a/code/modules/antagonists/bloodsucker/powers/haste.dm +++ b/code/modules/antagonists/bloodsucker/powers/haste.dm @@ -3,12 +3,12 @@ // Level 2: Dodge Bullets // Level 3: Stun People Passed -/datum/action/bloodsucker/targeted/haste +/datum/action/cooldown/bloodsucker/targeted/haste name = "Immortal Haste" desc = "Dash somewhere with supernatural speed. Those nearby may be knocked away, stunned, or left empty-handed." button_icon_state = "power_speed" bloodcost = 6 - cooldown = 120 + cooldown_time = 120 target_range = 15 power_activates_immediately = TRUE message_Trigger = ""//"Whom will you subvert to your will?" @@ -18,7 +18,7 @@ /// If set, uses this speed in deciseconds instead of world.tick_lag var/speed_override -/datum/action/bloodsucker/targeted/haste/CheckCanUse(display_error) +/datum/action/cooldown/bloodsucker/targeted/haste/CheckCanUse(display_error) . = ..() if(!.) return @@ -33,10 +33,10 @@ return FALSE return TRUE -/datum/action/bloodsucker/targeted/haste/CheckValidTarget(atom/A) +/datum/action/cooldown/bloodsucker/targeted/haste/CheckValidTarget(atom/A) return isturf(A) || A.loc != owner.loc // Anything will do, if it's not me or my square -/datum/action/bloodsucker/targeted/haste/CheckCanTarget(atom/A, display_error) +/datum/action/cooldown/bloodsucker/targeted/haste/CheckCanTarget(atom/A, display_error) // DEFAULT CHECKS (Distance) if (!..()) return FALSE @@ -45,7 +45,7 @@ // return FALSE return TRUE -/datum/action/bloodsucker/targeted/haste/FireTargetedPower(atom/A) +/datum/action/cooldown/bloodsucker/targeted/haste/FireTargetedPower(atom/A) // This is a non-async proc to make sure the power is "locked" until this finishes. hit = list() RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) @@ -78,11 +78,11 @@ hit = null user.update_mobility() -/datum/action/bloodsucker/targeted/haste/DeactivatePower(mob/living/user = owner, mob/living/target) +/datum/action/cooldown/bloodsucker/targeted/haste/DeactivatePower(mob/living/user = owner, mob/living/target) ..() // activate = FALSE user.update_mobility() -/datum/action/bloodsucker/targeted/haste/proc/on_move() +/datum/action/cooldown/bloodsucker/targeted/haste/proc/on_move() for(var/mob/living/L in dview(1, get_turf(owner))) if(!hit[L] && (L != owner)) hit[L] = TRUE diff --git a/code/modules/antagonists/bloodsucker/powers/lunge.dm b/code/modules/antagonists/bloodsucker/powers/lunge.dm index 365f461e20..5ad79400d7 100644 --- a/code/modules/antagonists/bloodsucker/powers/lunge.dm +++ b/code/modules/antagonists/bloodsucker/powers/lunge.dm @@ -1,25 +1,21 @@ -/datum/action/bloodsucker/lunge +/datum/action/cooldown/bloodsucker/lunge name = "Predatory Lunge" desc = "Prepare the strenght to grapple your prey." button_icon_state = "power_lunge" bloodcost = 10 - cooldown = 30 + cooldown_time = 30 bloodsucker_can_buy = TRUE warn_constant_cost = TRUE amToggle = TRUE var/leap_skill_mod = 5 -/datum/action/bloodsucker/lunge/New() - . = ..() - - -/datum/action/bloodsucker/lunge/Destroy() +/datum/action/cooldown/bloodsucker/lunge/Destroy() . = ..() UnregisterSignal(owner, COMSIG_CARBON_TACKLED) -/datum/action/bloodsucker/lunge/ActivatePower() +/datum/action/cooldown/bloodsucker/lunge/ActivatePower() var/mob/living/carbon/user = owner var/datum/antagonist/bloodsucker/B = user.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) var/datum/component/tackler/T = user.LoadComponent(/datum/component/tackler) @@ -37,10 +33,10 @@ sleep(5) //Without this, the leap component would get removed too early, causing the normal crash into effects. -/datum/action/bloodsucker/lunge/proc/DelayedDeactivatePower() +/datum/action/cooldown/bloodsucker/lunge/proc/DelayedDeactivatePower() addtimer(CALLBACK(src, PROC_REF(DeactivatePower)), 1 SECONDS, TIMER_UNIQUE) -/datum/action/bloodsucker/lunge/DeactivatePower(mob/living/user = owner) +/datum/action/cooldown/bloodsucker/lunge/DeactivatePower(mob/living/user = owner) . = ..() qdel(user.GetComponent(/datum/component/tackler)) UnregisterSignal(user, COMSIG_CARBON_TACKLED) diff --git a/code/modules/antagonists/bloodsucker/powers/masquerade.dm b/code/modules/antagonists/bloodsucker/powers/masquerade.dm index f4ce531ef0..78748a3c80 100644 --- a/code/modules/antagonists/bloodsucker/powers/masquerade.dm +++ b/code/modules/antagonists/bloodsucker/powers/masquerade.dm @@ -16,12 +16,12 @@ // - -/datum/action/bloodsucker/masquerade +/datum/action/cooldown/bloodsucker/masquerade name = "Masquerade" desc = "Feign the vital signs of a mortal, and escape both casual and medical notice as the monster you truly are." button_icon_state = "power_human" bloodcost = 10 - cooldown = 50 + cooldown_time = 50 amToggle = TRUE bloodsucker_can_buy = TRUE warn_constant_cost = TRUE @@ -31,7 +31,7 @@ // NOTE: Firing off vulgar powers disables your Masquerade! -/*/datum/action/bloodsucker/masquerade/CheckCanUse(display_error) +/*/datum/action/cooldown/bloodsucker/masquerade/CheckCanUse(display_error) if(!..(display_error))// DEFAULT CHECKS return FALSE // DONE! @@ -39,7 +39,7 @@ */ -/datum/action/bloodsucker/masquerade/ActivatePower() +/datum/action/cooldown/bloodsucker/masquerade/ActivatePower() var/mob/living/user = owner var/datum/antagonist/bloodsucker/bloodsuckerdatum = user.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) @@ -78,14 +78,14 @@ sleep(20) // Check every few ticks that we haven't disabled this power -/datum/action/bloodsucker/masquerade/ContinueActive(mob/living/user) +/datum/action/cooldown/bloodsucker/masquerade/ContinueActive(mob/living/user) // Disable if unable to use power anymore. //if (user.stat == DEAD || user.blood_volume <= 0) // not conscious or soft critor uncon, just dead // return FALSE return ..() // Active, and still Antag -/datum/action/bloodsucker/masquerade/DeactivatePower(mob/living/user = owner, mob/living/target) +/datum/action/cooldown/bloodsucker/masquerade/DeactivatePower(mob/living/user = owner, mob/living/target) ..() // activate = FALSE var/datum/antagonist/bloodsucker/bloodsuckerdatum = user.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) diff --git a/code/modules/antagonists/bloodsucker/powers/mesmerize.dm b/code/modules/antagonists/bloodsucker/powers/mesmerize.dm index 3586a5851f..26a747614e 100644 --- a/code/modules/antagonists/bloodsucker/powers/mesmerize.dm +++ b/code/modules/antagonists/bloodsucker/powers/mesmerize.dm @@ -5,12 +5,12 @@ // FOLLOW: Target follows you, spouting random phrases from their history (or maybe Polly's or NPC's vocab?) // ATTACK: Target finds a nearby non-Bloodsucker victim to attack. -/datum/action/bloodsucker/targeted/mesmerize +/datum/action/cooldown/bloodsucker/targeted/mesmerize name = "Mesmerize" desc = "Dominate the mind of a mortal who can see your eyes." button_icon_state = "power_mez" bloodcost = 30 - cooldown = 300 + cooldown_time = 300 target_range = 2 power_activates_immediately = TRUE message_Trigger = "Whom will you subvert to your will?" @@ -18,7 +18,7 @@ bloodsucker_can_buy = TRUE var/success -/datum/action/bloodsucker/targeted/mesmerize/CheckCanUse(display_error) +/datum/action/cooldown/bloodsucker/targeted/mesmerize/CheckCanUse(display_error) . = ..() if(!.) return @@ -34,10 +34,10 @@ return FALSE return TRUE -/datum/action/bloodsucker/targeted/mesmerize/CheckValidTarget(atom/A) +/datum/action/cooldown/bloodsucker/targeted/mesmerize/CheckValidTarget(atom/A) return iscarbon(A) -/datum/action/bloodsucker/targeted/mesmerize/CheckCanTarget(atom/A,display_error) +/datum/action/cooldown/bloodsucker/targeted/mesmerize/CheckCanTarget(atom/A,display_error) // Check: Self if(A == owner) return FALSE @@ -88,7 +88,7 @@ return FALSE return TRUE -/datum/action/bloodsucker/targeted/mesmerize/proc/ContinueTarget(atom/A) +/datum/action/cooldown/bloodsucker/targeted/mesmerize/proc/ContinueTarget(atom/A) var/mob/living/carbon/target = A var/mob/living/L = owner @@ -103,7 +103,7 @@ to_chat(L, "[target] has escaped your gaze!") UnregisterSignal(target, COMSIG_MOVABLE_MOVED) -/datum/action/bloodsucker/targeted/mesmerize/FireTargetedPower(atom/A) +/datum/action/cooldown/bloodsucker/targeted/mesmerize/FireTargetedPower(atom/A) // set waitfor = FALSE <---- DONT DO THIS!We WANT this power to hold up ClickWithPower(), so that we can unlock the power when it's done. var/mob/living/carbon/target = A var/mob/living/L = owner @@ -118,7 +118,7 @@ // 5 second windup addtimer(CALLBACK(src, PROC_REF(apply_effects), L, target, power_time), 6 SECONDS) -/datum/action/bloodsucker/targeted/mesmerize/proc/apply_effects(aggressor, victim, power_time) +/datum/action/cooldown/bloodsucker/targeted/mesmerize/proc/apply_effects(aggressor, victim, power_time) var/mob/living/carbon/target = victim var/mob/living/L = aggressor if(!success) @@ -135,5 +135,5 @@ to_chat(L, "[target] has snapped out of their trance.") -/datum/action/bloodsucker/targeted/mesmerize/ContinueActive(mob/living/user, mob/living/target) +/datum/action/cooldown/bloodsucker/targeted/mesmerize/ContinueActive(mob/living/user, mob/living/target) return ..() && CheckCanUse() && CheckCanTarget(target) diff --git a/code/modules/antagonists/bloodsucker/powers/recuperate.dm b/code/modules/antagonists/bloodsucker/powers/recuperate.dm index 90a2e3ff38..6f6b204299 100644 --- a/code/modules/antagonists/bloodsucker/powers/recuperate.dm +++ b/code/modules/antagonists/bloodsucker/powers/recuperate.dm @@ -1,12 +1,12 @@ -/datum/action/bloodsucker/vassal/recuperate +/datum/action/cooldown/bloodsucker/vassal/recuperate name = "Sanguine Recuperation" desc = "Slowly heal brute damage while active. This process is exhausting, and requires some of your tainted blood." button_icon_state = "power_recup" amToggle = TRUE bloodcost = 5 - cooldown = 100 + cooldown_time = 100 -/datum/action/bloodsucker/vassal/recuperate/CheckCanUse(display_error) +/datum/action/cooldown/bloodsucker/vassal/recuperate/CheckCanUse(display_error) . = ..() if(!.) return @@ -14,7 +14,7 @@ return FALSE return TRUE -/datum/action/bloodsucker/vassal/recuperate/ActivatePower() +/datum/action/cooldown/bloodsucker/vassal/recuperate/ActivatePower() to_chat(owner, "Your muscles clench and your skin crawls as your master's immortal blood knits your wounds and gives you stamina.") var/mob/living/carbon/C = owner var/mob/living/carbon/human/H @@ -35,5 +35,5 @@ // DONE! //DeactivatePower(owner) -/datum/action/bloodsucker/vassal/recuperate/ContinueActive(mob/living/user, mob/living/target) +/datum/action/cooldown/bloodsucker/vassal/recuperate/ContinueActive(mob/living/user, mob/living/target) return ..() && user.stat <= DEAD && user.blood_volume > 500 diff --git a/code/modules/antagonists/bloodsucker/powers/trespass.dm b/code/modules/antagonists/bloodsucker/powers/trespass.dm index 56b72a562e..9a64fe8cb3 100644 --- a/code/modules/antagonists/bloodsucker/powers/trespass.dm +++ b/code/modules/antagonists/bloodsucker/powers/trespass.dm @@ -1,12 +1,12 @@ -/datum/action/bloodsucker/targeted/trespass +/datum/action/cooldown/bloodsucker/targeted/trespass name = "Trespass" desc = "Become mist and advance two tiles in one direction, ignoring all obstacles except for walls. Useful for skipping past doors and barricades." button_icon_state = "power_tres" bloodcost = 10 - cooldown = 80 + cooldown_time = 80 amToggle = FALSE //target_range = 2 @@ -16,7 +16,7 @@ var/turf/target_turf // We need to decide where we're going based on where we clicked. It's not actually the tile we clicked. -/datum/action/bloodsucker/targeted/trespass/CheckCanUse(display_error) +/datum/action/cooldown/bloodsucker/targeted/trespass/CheckCanUse(display_error) . = ..() if(!.) return @@ -26,7 +26,7 @@ return TRUE -/datum/action/bloodsucker/targeted/trespass/CheckValidTarget(atom/A) +/datum/action/cooldown/bloodsucker/targeted/trespass/CheckValidTarget(atom/A) // Can't target my tile if(A == get_turf(owner) || get_turf(A) == get_turf(owner)) return FALSE @@ -34,7 +34,7 @@ return TRUE // All we care about is destination. Anything you click is fine. -/datum/action/bloodsucker/targeted/trespass/CheckCanTarget(atom/A, display_error) +/datum/action/cooldown/bloodsucker/targeted/trespass/CheckCanTarget(atom/A, display_error) // NOTE: Do NOT use ..()! We don't want to check distance or anything. // Get clicked tile @@ -60,7 +60,7 @@ return TRUE -/datum/action/bloodsucker/targeted/trespass/FireTargetedPower(atom/A) +/datum/action/cooldown/bloodsucker/targeted/trespass/FireTargetedPower(atom/A) // set waitfor = FALSE <---- DONT DO THIS!We WANT this power to hold up ClickWithPower(), so that we can unlock the power when it's done. // Find target turf, at or below Atom @@ -87,7 +87,7 @@ user.invisibility = INVISIBILITY_MAXIMUM // LOSE CUFFS - + // Wait... sleep(mist_delay / 2) diff --git a/code/modules/antagonists/bloodsucker/powers/veil.dm b/code/modules/antagonists/bloodsucker/powers/veil.dm index b170b9d442..9b04a6f774 100644 --- a/code/modules/antagonists/bloodsucker/powers/veil.dm +++ b/code/modules/antagonists/bloodsucker/powers/veil.dm @@ -1,10 +1,10 @@ -/datum/action/bloodsucker/veil +/datum/action/cooldown/bloodsucker/veil name = "Veil of Many Faces" desc = "Disguise yourself in the illusion of another identity." button_icon_state = "power_veil" bloodcost = 15 - cooldown = 100 + cooldown_time = 100 amToggle = TRUE bloodsucker_can_buy = TRUE warn_constant_cost = TRUE @@ -29,7 +29,7 @@ var/list/prev_features // For lizards and such -/datum/action/bloodsucker/veil/CheckCanUse(display_error) +/datum/action/cooldown/bloodsucker/veil/CheckCanUse(display_error) . = ..() if(!.) return @@ -37,7 +37,7 @@ return TRUE -/datum/action/bloodsucker/veil/ActivatePower() +/datum/action/cooldown/bloodsucker/veil/ActivatePower() cast_effect() // POOF @@ -47,14 +47,14 @@ Disguise_FaceName() -/datum/action/bloodsucker/veil/proc/Disguise_Outfit() +/datum/action/cooldown/bloodsucker/veil/proc/Disguise_Outfit() // Step One: Back up original items -/datum/action/bloodsucker/veil/proc/Disguise_FaceName() +/datum/action/cooldown/bloodsucker/veil/proc/Disguise_FaceName() // Change Name/Voice var/mob/living/carbon/human/H = owner @@ -112,7 +112,7 @@ sleep(50) -/datum/action/bloodsucker/veil/DeactivatePower(mob/living/user = owner, mob/living/target) +/datum/action/cooldown/bloodsucker/veil/DeactivatePower(mob/living/user = owner, mob/living/target) ..() if (ishuman(user)) var/mob/living/carbon/human/H = user @@ -149,7 +149,7 @@ cast_effect() // POOF // CAST EFFECT // // General effect (poof, splat, etc) when you cast. Doesn't happen automatically! -/datum/action/bloodsucker/veil/proc/cast_effect() +/datum/action/cooldown/bloodsucker/veil/proc/cast_effect() // Effect playsound(get_turf(owner), 'sound/magic/smoke.ogg', 20, 1) var/datum/effect_system/steam_spread/puff = new /datum/effect_system/steam_spread/() diff --git a/code/modules/antagonists/changeling/cellular_emporium.dm b/code/modules/antagonists/changeling/cellular_emporium.dm index d825fa048e..3e48fca317 100644 --- a/code/modules/antagonists/changeling/cellular_emporium.dm +++ b/code/modules/antagonists/changeling/cellular_emporium.dm @@ -80,7 +80,6 @@ /datum/action/innate/cellular_emporium/New(our_target) . = ..() - button.name = name if(istype(our_target, /datum/cellular_emporium)) cellular_emporium = our_target else diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index 9103444fff..2a2c24c201 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -229,10 +229,10 @@ playsound(get_turf(owner.current), 'sound/effects/lingreadapt.ogg', 75, TRUE, 5) can_respec = 0 SSblackbox.record_feedback("tally", "changeling_power_purchase", 1, "Readapt") - return 1 + return TRUE else to_chat(owner.current, "You lack the power to readapt your evolutions!") - return 0 + return FALSE //Called in life() /datum/antagonist/changeling/proc/regenerate()//grants the HuD in life.dm @@ -285,7 +285,7 @@ if(verbose) to_chat(user, "[target] is not compatible with our biology.") return - return 1 + return TRUE /datum/antagonist/changeling/proc/create_profile(mob/living/carbon/human/H, protect = 0) diff --git a/code/modules/antagonists/changeling/changeling_power.dm b/code/modules/antagonists/changeling/changeling_power.dm index c784939c0f..8f48128562 100644 --- a/code/modules/antagonists/changeling/changeling_power.dm +++ b/code/modules/antagonists/changeling/changeling_power.dm @@ -47,10 +47,10 @@ the same goes for Remove(). if you override Remove(), call parent or else your p /datum/action/changeling/proc/sting_action(mob/user, mob/target) SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]")) - return 0 + return FALSE /datum/action/changeling/proc/sting_feedback(mob/user, mob/target) - return 0 + return FALSE //Fairly important to remember to return TRUE on success >.< diff --git a/code/modules/antagonists/changeling/powers/fakedeath.dm b/code/modules/antagonists/changeling/powers/fakedeath.dm index cd0a929fb8..8bbbc423a1 100644 --- a/code/modules/antagonists/changeling/powers/fakedeath.dm +++ b/code/modules/antagonists/changeling/powers/fakedeath.dm @@ -44,7 +44,7 @@ name = "Reviving Stasis" desc = "We fall into a stasis, allowing us to regenerate and trick our enemies. Costs 15 chemicals." button_icon_state = "fake_death" - UpdateButtonIcon() + UpdateButtons() chemical_cost = 15 to_chat(user, "We have revived ourselves.") @@ -56,7 +56,7 @@ name = "Revive" desc = "We arise once more." button_icon_state = "revive" - UpdateButtonIcon() + UpdateButtons() chemical_cost = 0 revive_ready = TRUE diff --git a/code/modules/antagonists/changeling/powers/hivemind.dm b/code/modules/antagonists/changeling/powers/hivemind.dm index 95ad09c318..f4ac9adca7 100644 --- a/code/modules/antagonists/changeling/powers/hivemind.dm +++ b/code/modules/antagonists/changeling/powers/hivemind.dm @@ -94,7 +94,7 @@ GLOBAL_LIST_EMPTY(hivemind_bank) 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 + return TRUE /datum/action/changeling/hivemind_download/sting_action(mob/user) var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) diff --git a/code/modules/antagonists/changeling/powers/humanform.dm b/code/modules/antagonists/changeling/powers/humanform.dm index 016ab5c6dd..c141e0db2e 100644 --- a/code/modules/antagonists/changeling/powers/humanform.dm +++ b/code/modules/antagonists/changeling/powers/humanform.dm @@ -13,7 +13,7 @@ if(!chosen_prof) return if(!user || user.mob_transforming) - return 0 + return FALSE to_chat(user, "We transform our appearance.") changeling.purchasedpowers -= src diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index 2f0125886d..b41135086a 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -40,7 +40,7 @@ var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) changeling.chem_recharge_slowdown -= recharge_slowdown user.update_inv_hands() - return 1 + return TRUE /datum/action/changeling/weapon/sting_action(mob/living/user) var/obj/item/held = user.get_active_held_item() @@ -325,7 +325,7 @@ ..() /obj/item/projectile/tentacle/proc/reset_throw(mob/living/carbon/human/H) - if(H.in_throw_mode) + if(H.throw_mode) H.throw_mode_off() //Don't annoy the changeling if he doesn't catch the item /obj/item/projectile/tentacle/proc/tentacle_grab(mob/living/carbon/human/H, mob/living/carbon/C) @@ -597,7 +597,7 @@ /datum/action/changeling/gloves/proc/check_gloves(mob/user) var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) if(!ishuman(user) || !changeling) - return 1 + return TRUE var/mob/living/carbon/human/H = user if(istype(H.gloves, glove_type)) H.visible_message("With a sickening crunch, [H] reforms [H.p_their()] [glove_name_simple] into hands!", "We assimilate our [glove_name_simple].", "You hear organic matter ripping and tearing!") @@ -609,7 +609,7 @@ playsound(H.loc, 'sound/effects/splat.ogg', 50, 1) //So real sounds changeling.chem_recharge_slowdown -= recharge_slowdown - return 1 + return TRUE /datum/action/changeling/gloves/Remove(mob/user) if(!ishuman(user)) diff --git a/code/modules/antagonists/changeling/powers/tiny_prick.dm b/code/modules/antagonists/changeling/powers/tiny_prick.dm index 2519dd1dbf..514d6ed6f6 100644 --- a/code/modules/antagonists/changeling/powers/tiny_prick.dm +++ b/code/modules/antagonists/changeling/powers/tiny_prick.dm @@ -53,7 +53,7 @@ if(target.mind && target.mind.has_antag_datum(/datum/antagonist/changeling)) sting_feedback(user, target) changeling.chem_charges -= chemical_cost - return 1 + return TRUE /datum/action/changeling/sting/sting_feedback(mob/user, mob/target) if(!target) @@ -61,7 +61,7 @@ to_chat(user, "We stealthily sting [target.name].") if(target.mind && target.mind.has_antag_datum(/datum/antagonist/changeling)) to_chat(target, "You feel a tiny prick.") - return 1 + return TRUE /datum/action/changeling/sting/transformation @@ -94,8 +94,8 @@ return if((HAS_TRAIT(target, TRAIT_HUSK)) || !iscarbon(target) || (NOTRANSSTING in target.dna.species.species_traits)) to_chat(user, "Our sting appears ineffective against its DNA.") - return 0 - return 1 + return FALSE + return TRUE /datum/action/changeling/sting/transformation/sting_action(mob/user, mob/target) if(ismonkey(target)) @@ -133,8 +133,8 @@ var/mob/living/L = target if((HAS_TRAIT(L, TRAIT_HUSK)) || !L.has_dna()) to_chat(user, "Our sting appears ineffective against its DNA.") - return 0 - return 1 + return FALSE + return TRUE /datum/action/changeling/sting/false_armblade/sting_action(mob/user, mob/target) log_combat(user, target, "stung", object="false armblade sting") diff --git a/code/modules/antagonists/clockcult/clock_effects/clock_sigils.dm b/code/modules/antagonists/clockcult/clock_effects/clock_sigils.dm index 8adaaffcc3..3704094a90 100644 --- a/code/modules/antagonists/clockcult/clock_effects/clock_sigils.dm +++ b/code/modules/antagonists/clockcult/clock_effects/clock_sigils.dm @@ -21,7 +21,7 @@ return ..() user.visible_message("[user] scatters [src] with [I]!", "You scatter [src] with [I]!") qdel(src) - return 1 + return TRUE return ..() /obj/effect/clockwork/sigil/attack_tk(mob/user) diff --git a/code/modules/antagonists/clockcult/clock_effects/servant_blocker.dm b/code/modules/antagonists/clockcult/clock_effects/servant_blocker.dm index 5905862690..cb52944a0a 100644 --- a/code/modules/antagonists/clockcult/clock_effects/servant_blocker.dm +++ b/code/modules/antagonists/clockcult/clock_effects/servant_blocker.dm @@ -25,7 +25,7 @@ return if(isitem(M)) var/obj/item/I = M - if(is_servant_of_ratvar(I.thrownby)) //nice try! + if(is_servant_of_ratvar(I.thrownby?.resolve())) //nice try! return return TRUE diff --git a/code/modules/antagonists/clockcult/clock_helpers/clock_powerdrain.dm b/code/modules/antagonists/clockcult/clock_helpers/clock_powerdrain.dm index 8d0dff0ea8..085eacca35 100644 --- a/code/modules/antagonists/clockcult/clock_helpers/clock_powerdrain.dm +++ b/code/modules/antagonists/clockcult/clock_helpers/clock_powerdrain.dm @@ -16,22 +16,22 @@ drain_amount: How much is drained by default; Influenced by a multiplier on most var/obj/item/stock_parts/cell/cell = get_cell() if(cell) return cell.power_drain(clockcult_user, drain_weapons, recursive, drain_amount) - return 0 //Returns 0 instead of FALSE to symbolise it returning the power amount in other cases, not TRUE aka 1 + return FALSE //Returns 0 instead of FALSE to symbolise it returning the power amount in other cases, not TRUE aka 1 /obj/item/melee/baton/power_drain(clockcult_user, drain_weapons = FALSE, recursive = FALSE, drain_amount = MIN_CLOCKCULT_POWER) //balance memes if(!drain_weapons) - return 0 + return FALSE var/obj/item/stock_parts/cell/cell = get_cell() if(cell) return cell.power_drain(clockcult_user, drain_weapons, recursive, drain_amount) - return 0 //No need to recurse further in batons + return FALSE //No need to recurse further in batons /obj/item/gun/power_drain(clockcult_user, drain_weapons = FALSE, recursive = FALSE, drain_amount = MIN_CLOCKCULT_POWER) //balance memes if(!drain_weapons) - return 0 + return FALSE var/obj/item/stock_parts/cell/cell = get_cell() if(!cell) - return 0 + return FALSE if(cell.charge) . = min(cell.charge, drain_amount*4) //Done snowflakey because guns have far smaller cells than batons / other equipment, also no need to recurse further in guns cell.use(.) diff --git a/code/modules/antagonists/clockcult/clock_helpers/scripture_checks.dm b/code/modules/antagonists/clockcult/clock_helpers/scripture_checks.dm index 0570f7028b..7151e8b3eb 100644 --- a/code/modules/antagonists/clockcult/clock_helpers/scripture_checks.dm +++ b/code/modules/antagonists/clockcult/clock_helpers/scripture_checks.dm @@ -40,7 +40,7 @@ /proc/generate_all_scripture() if(GLOB.all_scripture.len) return - for(var/V in sortList(subtypesof(/datum/clockwork_scripture) - list(/datum/clockwork_scripture/channeled, /datum/clockwork_scripture/create_object, /datum/clockwork_scripture/create_object/construct), GLOBAL_PROC_REF(cmp_clockscripture_priority))) + for(var/V in sort_list(subtypesof(/datum/clockwork_scripture) - list(/datum/clockwork_scripture/channeled, /datum/clockwork_scripture/create_object, /datum/clockwork_scripture/create_object/construct), GLOBAL_PROC_REF(cmp_clockscripture_priority))) var/datum/clockwork_scripture/S = new V GLOB.all_scripture[S.type] = S diff --git a/code/modules/antagonists/clockcult/clock_items/clock_weapons/ratvarian_shield.dm b/code/modules/antagonists/clockcult/clock_items/clock_weapons/ratvarian_shield.dm index 47105938e6..bc26aad155 100644 --- a/code/modules/antagonists/clockcult/clock_items/clock_weapons/ratvarian_shield.dm +++ b/code/modules/antagonists/clockcult/clock_items/clock_weapons/ratvarian_shield.dm @@ -25,7 +25,7 @@ /obj/item/shield/riot/ratvarian/proc/calc_bash_mult() var/bash_mult = 0 if(!dam_absorbed) - return 1 + return TRUE else bash_mult += round(clamp(1 + (dam_absorbed / bash_mult_steps), 1, max_bash_mult), 0.1) //Multiplies the effect of bashes by up to [max_bash_mult], though never less than one return bash_mult diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm index 06fea9bd91..751e6f16ca 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm @@ -55,7 +55,7 @@ /obj/item/clothing/head/helmet/clockwork/mob_can_equip(M, equipper, slot, disable_warning, bypass_equip_delay_self) if(equipper && !is_servant_of_ratvar(equipper)) - return 0 + return FALSE return ..() /obj/item/clothing/suit/armor/clockwork @@ -100,7 +100,7 @@ /obj/item/clothing/suit/armor/clockwork/mob_can_equip(M, equipper, slot, disable_warning, bypass_equip_delay_self) if(equipper && !is_servant_of_ratvar(equipper)) - return 0 + return FALSE return ..() /obj/item/clothing/suit/armor/clockwork/equipped(mob/living/user, slot) @@ -160,7 +160,7 @@ /obj/item/clothing/gloves/clockwork/mob_can_equip(M, equipper, slot, disable_warning, bypass_equip_delay_self) if(equipper && !is_servant_of_ratvar(equipper)) - return 0 + return FALSE return ..() /obj/item/clothing/gloves/clockwork/equipped(mob/living/user, slot) @@ -210,7 +210,7 @@ /obj/item/clothing/shoes/clockwork/mob_can_equip(M, equipper, slot, disable_warning, bypass_equip_delay_self) if(equipper && !is_servant_of_ratvar(equipper)) - return 0 + return FALSE return ..() /obj/item/clothing/shoes/clockwork/equipped(mob/living/user, slot) diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm index 6ba3a660b0..2a7bf1bc08 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm @@ -411,6 +411,6 @@ Q.name = "[quickbind_slot.name] ([Q.scripture_index])" Q.desc = quickbind_slot.quickbind_desc Q.button_icon_state = quickbind_slot.name - Q.UpdateButtonIcon() + Q.UpdateButtons() if(isliving(loc)) Q.Grant(loc) diff --git a/code/modules/antagonists/clockcult/clock_items/judicial_visor.dm b/code/modules/antagonists/clockcult/clock_items/judicial_visor.dm index 0eae566764..d31a8d1297 100644 --- a/code/modules/antagonists/clockcult/clock_items/judicial_visor.dm +++ b/code/modules/antagonists/clockcult/clock_items/judicial_visor.dm @@ -29,7 +29,7 @@ /obj/item/clothing/glasses/judicial_visor/item_action_slot_check(slot, mob/user, datum/action/A) if(slot != ITEM_SLOT_EYES) - return 0 + return FALSE return ..() /obj/item/clothing/glasses/judicial_visor/equipped(mob/living/user, slot) @@ -38,7 +38,7 @@ update_status(FALSE) if(blaster.ranged_ability_user) blaster.remove_ranged_ability() - return 0 + return FALSE if(is_servant_of_ratvar(user)) update_status(TRUE) else @@ -48,7 +48,7 @@ to_chat(user, "You suddenly catch fire!") user.adjust_fire_stacks(5) user.IgniteMob() - return 1 + return TRUE /obj/item/clothing/glasses/judicial_visor/dropped(mob/user) . = ..() @@ -67,27 +67,27 @@ /obj/item/clothing/glasses/judicial_visor/proc/update_status(change_to) if(recharging || !isliving(loc)) icon_state = "judicial_visor_0" - return 0 + return FALSE if(active == change_to) - return 0 + return FALSE var/mob/living/L = loc active = change_to icon_state = "judicial_visor_[active]" L.update_action_buttons_icon() L.update_inv_glasses() if(!is_servant_of_ratvar(L) || L.stat) - return 0 + return FALSE switch(active) if(TRUE) to_chat(L, "As you put on [src], its lens begins to glow, information flashing before your eyes.\n\ Judicial visor active. Use the action button to gain the ability to smite the unworthy.") if(FALSE) to_chat(L, "As you take off [src], its lens darkens once more.") - return 1 + return TRUE /obj/item/clothing/glasses/judicial_visor/proc/recharge_visor(mob/living/user) if(!src) - return 0 + return FALSE recharging = FALSE if(user && src == user.get_item_by_slot(ITEM_SLOT_EYES)) to_chat(user, "Your [name] hums. It is ready.") diff --git a/code/modules/antagonists/clockcult/clock_items/replica_fabricator.dm b/code/modules/antagonists/clockcult/clock_items/replica_fabricator.dm index 9327bac74c..769e61d14b 100644 --- a/code/modules/antagonists/clockcult/clock_items/replica_fabricator.dm +++ b/code/modules/antagonists/clockcult/clock_items/replica_fabricator.dm @@ -23,7 +23,7 @@ /obj/item/clockwork/replica_fabricator/scarab/fabricate(atom/target, mob/living/user) if(!debug && !isdrone(user)) - return 0 + return FALSE return ..() /obj/item/clockwork/replica_fabricator/scarab/debug diff --git a/code/modules/antagonists/clockcult/clock_mobs.dm b/code/modules/antagonists/clockcult/clock_mobs.dm index a2263401aa..9104146dc5 100644 --- a/code/modules/antagonists/clockcult/clock_mobs.dm +++ b/code/modules/antagonists/clockcult/clock_mobs.dm @@ -38,7 +38,7 @@ fully_heal(TRUE) /mob/living/simple_animal/hostile/clockwork/electrocute_act(shock_damage, source, siemens_coeff = 1, flags = NONE) - return 0 //ouch, my metal-unlikely-to-be-damaged-by-electricity-body + return FALSE //ouch, my metal-unlikely-to-be-damaged-by-electricity-body /mob/living/simple_animal/hostile/clockwork/examine(mob/user) var/t_He = p_they(TRUE) diff --git a/code/modules/antagonists/clockcult/clock_mobs/clockwork_guardian.dm b/code/modules/antagonists/clockcult/clock_mobs/clockwork_guardian.dm index 1c1b35a12d..44139c6ab9 100644 --- a/code/modules/antagonists/clockcult/clock_mobs/clockwork_guardian.dm +++ b/code/modules/antagonists/clockcult/clock_mobs/clockwork_guardian.dm @@ -121,7 +121,7 @@ stat(null, "You do [melee_damage_upper] damage on melee attacks.") /mob/living/simple_animal/hostile/clockwork/guardian/Process_Spacemove(movement_dir = 0) - return 1 + return TRUE /mob/living/simple_animal/hostile/clockwork/guardian/proc/bind_to_host(mob/living/new_host) if(!new_host) @@ -180,8 +180,8 @@ resulthealth = "[round((host.health / host.maxHealth) * 100, 0.5)]%" else resulthealth = "NONE" - G.hosthealth.maptext = "
    HOST
    [resulthealth]
    " - hud_used.healths.maptext = "
    [round((health / maxHealth) * 100, 0.5)]%" + G.hosthealth.maptext = MAPTEXT("
    HOST
    [resulthealth]
    ") + hud_used.healths.maptext = MAPTEXT("
    [round((health / maxHealth) * 100, 0.5)]%") /mob/living/simple_animal/hostile/clockwork/guardian/proc/update_stats() if(GLOB.ratvar_awakens) diff --git a/code/modules/antagonists/clockcult/clock_structure.dm b/code/modules/antagonists/clockcult/clock_structure.dm index 8cdb0fa57d..0a5bb4a9c2 100644 --- a/code/modules/antagonists/clockcult/clock_structure.dm +++ b/code/modules/antagonists/clockcult/clock_structure.dm @@ -93,7 +93,7 @@ if(is_servant_of_ratvar(user) && I.tool_behaviour == TOOL_WRENCH && unanchored_icon) if(default_unfasten_wrench(user, I, 50) == SUCCESSFUL_UNFASTEN) update_anchored(user) - return 1 + return TRUE return ..() /obj/structure/destructible/clockwork/attacked_by(obj/item/I, mob/living/user, attackchain_flags = NONE, damage_multiplier = 1) diff --git a/code/modules/antagonists/clockcult/clock_structures/mania_motor.dm b/code/modules/antagonists/clockcult/clock_structures/mania_motor.dm index 40cadb53a2..69bf306782 100644 --- a/code/modules/antagonists/clockcult/clock_structures/mania_motor.dm +++ b/code/modules/antagonists/clockcult/clock_structures/mania_motor.dm @@ -37,7 +37,7 @@ if(user.canUseTopic(src, !issilicon(user), NO_DEXTERY) && is_servant_of_ratvar(user)) if(!can_access_clockwork_power(src, mania_cost)) to_chat(user, "[src] needs more power to function!") - return 0 + return FALSE toggle(0, user) /obj/structure/destructible/clockwork/powered/mania_motor/toggle(fast_process, mob/living/user) diff --git a/code/modules/antagonists/clockcult/clock_structures/ocular_warden.dm b/code/modules/antagonists/clockcult/clock_structures/ocular_warden.dm index c81b05145e..a8b318d6b8 100644 --- a/code/modules/antagonists/clockcult/clock_structures/ocular_warden.dm +++ b/code/modules/antagonists/clockcult/clock_structures/ocular_warden.dm @@ -144,10 +144,10 @@ /obj/structure/destructible/clockwork/ocular_warden/proc/lose_target() if(!target) - return 0 + return FALSE target = null visible_message("[src] settles and seems almost disappointed.") - return 1 + return TRUE /obj/structure/destructible/clockwork/ocular_warden/get_efficiency_mod() if(GLOB.ratvar_awakens) diff --git a/code/modules/antagonists/clockcult/clock_structures/prolonging_prism.dm b/code/modules/antagonists/clockcult/clock_structures/prolonging_prism.dm index ededd0174c..774c76f3a1 100644 --- a/code/modules/antagonists/clockcult/clock_structures/prolonging_prism.dm +++ b/code/modules/antagonists/clockcult/clock_structures/prolonging_prism.dm @@ -43,19 +43,19 @@ to_chat(user, "You break [src] apart, refunding some of the power used.") adjust_clockwork_power(power_refund) take_damage(max_integrity) - return 0 + return FALSE if(active) - return 0 + return FALSE var/turf/T = get_turf(src) if(!T || !is_station_level(T.z)) to_chat(user, "[src] must be on the station to function!") - return 0 + return FALSE if(SSshuttle.emergency.mode != SHUTTLE_CALL) to_chat(user, "No emergency shuttles are attempting to arrive at the station!") - return 0 + return FALSE if(!try_use_power(get_delay_cost())) to_chat(user, "[src] needs more power to function!") - return 0 + return FALSE delay_cost += delay_cost_increase delay_remaining += PRISM_DELAY_DURATION toggle(0, user) diff --git a/code/modules/antagonists/clockcult/clock_structures/traps/brass_skewer.dm b/code/modules/antagonists/clockcult/clock_structures/traps/brass_skewer.dm index 5a70559cf0..5038e6513a 100644 --- a/code/modules/antagonists/clockcult/clock_structures/traps/brass_skewer.dm +++ b/code/modules/antagonists/clockcult/clock_structures/traps/brass_skewer.dm @@ -81,7 +81,7 @@ density = TRUE //Skewers are one-use only desc = "A vicious brass spike protruding from the ground like a stala[pick("gm", "ct")]ite. It makes you sick to look at." //is stalagmite the ground one? or the ceiling one? who can ever remember? -/obj/structure/destructible/clockwork/trap/brass_skewer/user_buckle_mob() +/obj/structure/destructible/clockwork/trap/brass_skewer/user_buckle_mob(check_loc) return /obj/structure/destructible/clockwork/trap/brass_skewer/post_buckle_mob(mob/living/L) diff --git a/code/modules/antagonists/clockcult/clock_structures/wall_gear.dm b/code/modules/antagonists/clockcult/clock_structures/wall_gear.dm index 20cf8711e0..7836e9012c 100644 --- a/code/modules/antagonists/clockcult/clock_structures/wall_gear.dm +++ b/code/modules/antagonists/clockcult/clock_structures/wall_gear.dm @@ -25,7 +25,7 @@ /obj/structure/destructible/clockwork/wall_gear/attackby(obj/item/I, mob/user, params) if(I.tool_behaviour == TOOL_WRENCH) default_unfasten_wrench(user, I, 10) - return 1 + return TRUE else if(I.tool_behaviour == TOOL_SCREWDRIVER) if(anchored) to_chat(user, "[src] needs to be unsecured to disassemble it!") @@ -34,7 +34,7 @@ if(I.use_tool(src, user, 30, volume=100) && !anchored) to_chat(user, "You disassemble [src].") deconstruct(TRUE) - return 1 + return TRUE else if(istype(I, /obj/item/stack/tile/brass)) var/obj/item/stack/tile/brass/W = I if(W.get_amount() < 1) @@ -64,7 +64,7 @@ qdel(src) else to_chat(user, "You need more brass to make a [anchored ? "false ":""]wall!") - return 1 + return TRUE return ..() /obj/structure/destructible/clockwork/wall_gear/deconstruct(disassembled = TRUE) diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index e468bb9c57..d4ff89084c 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -2,16 +2,11 @@ name = "Prepare Blood Magic" button_icon_state = "carve" desc = "Prepare blood magic by carving runes into your flesh. This rite is most effective with an empowering rune" + default_button_position = DEFAULT_BLOODSPELLS var/list/spells = list() var/channeling = FALSE var/holy_dispel = FALSE -/datum/action/innate/cult/blood_magic/Grant() - ..() - button.screen_loc = DEFAULT_BLOODSPELLS - button.moved = DEFAULT_BLOODSPELLS - button.ordered = FALSE - /datum/action/innate/cult/blood_magic/Remove() for(var/X in spells) qdel(X) @@ -23,15 +18,21 @@ return ..() /datum/action/innate/cult/blood_magic/proc/Positioning() - var/list/screen_loc_split = splittext(button.screen_loc,",") - var/list/screen_loc_X = splittext(screen_loc_split[1],":") - var/list/screen_loc_Y = splittext(screen_loc_split[2],":") - var/pix_X = text2num(screen_loc_X[2]) - for(var/datum/action/innate/cult/blood_spell/B in spells) - if(B.button.locked) - var/order = pix_X+spells.Find(B)*31 - B.button.screen_loc = "[screen_loc_X[1]]:[order],[screen_loc_Y[1]]:[screen_loc_Y[2]]" - B.button.moved = B.button.screen_loc + for(var/datum/hud/hud as anything in viewers) + var/our_view = hud.mymob?.client?.view || "15x15" + var/atom/movable/screen/movable/action_button/button = viewers[hud] + var/position = screen_loc_to_offset(button.screen_loc) + var/spells_iterated = 0 + for(var/datum/action/innate/cult/blood_spell/blood_spell in spells) + spells_iterated += 1 + if(blood_spell.positioned) + continue + var/atom/movable/screen/movable/action_button/moving_button = blood_spell.viewers[hud] + if(!moving_button) + continue + var/our_x = position[1] + spells_iterated * world.icon_size // Offset any new buttons into our list + hud.position_action(moving_button, offset_to_screen_loc(our_x, position[2], our_view)) + blood_spell.positioned = TRUE /datum/action/innate/cult/blood_magic/Activate() if(holy_dispel) @@ -99,6 +100,8 @@ var/base_desc //To allow for updating tooltips var/invocation var/health_cost = 0 + /// Have we already been positioned into our starting location? + var/positioned = FALSE /datum/action/innate/cult/blood_spell/Grant(mob/living/owner, datum/action/innate/cult/blood_magic/BM) if(health_cost) @@ -106,9 +109,7 @@ base_desc = desc desc += "
    Has [charges] use\s remaining." all_magic = BM - ..() - button.locked = TRUE - button.ordered = FALSE + return ..() /datum/action/innate/cult/blood_spell/Remove() if(all_magic) @@ -273,7 +274,7 @@ attached_action.charges-- attached_action.desc = attached_action.base_desc attached_action.desc += "
    Has [attached_action.charges] use\s remaining." - attached_action.UpdateButtonIcon() + attached_action.UpdateButtons() if(attached_action.charges <= 0) remove_ranged_ability("You have exhausted the spell's power!") qdel(src) @@ -325,7 +326,7 @@ qdel(src) desc = base_desc desc += "
    Has [charges] use\s remaining." - UpdateButtonIcon() + UpdateButtons() /datum/action/innate/cult/blood_spell/manipulation name = "Blood Rites" @@ -373,7 +374,7 @@ source.charges = uses source.desc = source.base_desc source.desc += "
    Has [uses] use\s remaining." - source.UpdateButtonIcon() + source.UpdateButtons() ..() /obj/item/melee/blood_magic/attack_self(mob/living/user) @@ -400,7 +401,7 @@ else if(source) source.desc = source.base_desc source.desc += "
    Has [uses] use\s remaining." - source.UpdateButtonIcon() + source.UpdateButtons() //Stun /obj/item/melee/blood_magic/stun diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index 069b841944..7ef96c0194 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -108,7 +108,7 @@ var/where = mob.equip_in_one_of_slots(T, slots, critical = TRUE) if(!where) to_chat(mob, "Unfortunately, you weren't able to get a [item_name]. This is very bad and you should adminhelp immediately (press F1).") - return 0 + return FALSE else to_chat(mob, "You have a [item_name] in your [where].") if(where == "backpack") diff --git a/code/modules/antagonists/cult/cult_comms.dm b/code/modules/antagonists/cult/cult_comms.dm index 3091a93a5f..625f07e278 100644 --- a/code/modules/antagonists/cult/cult_comms.dm +++ b/code/modules/antagonists/cult/cult_comms.dm @@ -142,7 +142,7 @@ /datum/action/innate/cult/master/IsAvailable(silent = FALSE) if(!owner.mind || !owner.mind.has_antag_datum(/datum/antagonist/cult/master) || GLOB.cult_narsie) - return 0 + return FALSE return ..() /datum/action/innate/cult/master/finalreck diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 20b6a254af..1c7752ed4c 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -795,14 +795,13 @@ desc = "Call the blood spear back to your hand!" background_icon_state = "bg_demon" button_icon_state = "bloodspear" + default_button_position = "6:157,4:-2" var/obj/item/cult_spear/spear var/cooldown = 0 /datum/action/innate/cult/spear/Grant(mob/user, obj/blood_spear) . = ..() spear = blood_spear - button.screen_loc = "6:157,4:-2" - button.moved = "6:157,4:-2" /datum/action/innate/cult/spear/Activate() if(owner == spear.loc || cooldown > world.time) diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index 47ef2e2ee3..1c4d4ebb62 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -243,12 +243,12 @@ structure_check() searches for nearby cultist structures required for the invoca for(var/M in invokers) to_chat(M, "You need at least two invokers to convert [convertee]!") log_game("Offer rune failed - tried conversion with one invoker") - return 0 + return FALSE if(convertee.anti_magic_check(TRUE, TRUE, chargecost = 0)) //Not major because it can be spammed for(var/M in invokers) to_chat(M, "Something is shielding [convertee]'s mind!") log_game("Offer rune failed - convertee had anti-magic") - return 0 + return FALSE var/brutedamage = convertee.getBruteLoss() var/burndamage = convertee.getFireLoss() if(brutedamage || burndamage) diff --git a/code/modules/antagonists/devil/devil.dm b/code/modules/antagonists/devil/devil.dm index 9f69f10887..6ee76d0098 100644 --- a/code/modules/antagonists/devil/devil.dm +++ b/code/modules/antagonists/devil/devil.dm @@ -389,43 +389,43 @@ GLOBAL_LIST_INIT(devil_suffix, list(" the Red", " the Soulless", " the Master", if(iscarbon(body)) var/mob/living/carbon/H = body return H.reagents.has_reagent(/datum/reagent/water/holywater) - return 0 + return FALSE if(BANISH_COFFIN) return (body && istype(body.loc, /obj/structure/closet/crate/coffin)) if(BANISH_FORMALDYHIDE) if(iscarbon(body)) var/mob/living/carbon/H = body return H.reagents.has_reagent(/datum/reagent/toxin/formaldehyde) - return 0 + return FALSE if(BANISH_RUNES) if(body) for(var/obj/effect/decal/cleanable/crayon/R in range(0,body)) if (R.name == "rune") - return 1 - return 0 + return TRUE + return FALSE if(BANISH_CANDLES) if(body) var/count = 0 for(var/obj/item/candle/C in range(1,body)) count += C.lit if(count>=4) - return 1 - return 0 + return TRUE + return FALSE if(BANISH_DESTRUCTION) if(body) - return 0 - return 1 + return FALSE + return TRUE if(BANISH_FUNERAL_GARB) if(ishuman(body)) var/mob/living/carbon/human/H = body if(H.w_uniform && istype(H.w_uniform, /obj/item/clothing/under/misc/burial)) - return 1 - return 0 + return TRUE + return FALSE else for(var/obj/item/clothing/under/misc/burial/B in range(0,body)) if(B.loc == get_turf(B)) //Make sure it's not in someone's inventory or something. - return 1 - return 0 + return TRUE + return FALSE /datum/antagonist/devil/proc/hellish_resurrection(mob/living/body) message_admins("[owner.name] (true name is: [truename]) is resurrecting using hellish energy.") diff --git a/code/modules/antagonists/devil/devil_helpers.dm b/code/modules/antagonists/devil/devil_helpers.dm index 1fcbbf91d0..389aa43970 100644 --- a/code/modules/antagonists/devil/devil_helpers.dm +++ b/code/modules/antagonists/devil/devil_helpers.dm @@ -35,4 +35,4 @@ DefaultCombatKnockdown(40) qdel(weapon) return 2 - return 1 + return TRUE diff --git a/code/modules/antagonists/devil/sintouched/sintouched.dm b/code/modules/antagonists/devil/sintouched/sintouched.dm index c9bf474567..839d3cceeb 100644 --- a/code/modules/antagonists/devil/sintouched/sintouched.dm +++ b/code/modules/antagonists/devil/sintouched/sintouched.dm @@ -17,9 +17,9 @@ /datum/antagonist/sintouched/threat() switch(sin) if(SIN_GLUTTONY,SIN_ENVY) - return 1 + return TRUE else - return 0 + return FALSE /datum/antagonist/sintouched/New() . = ..() diff --git a/code/modules/antagonists/devil/true_devil/_true_devil.dm b/code/modules/antagonists/devil/true_devil/_true_devil.dm index 77f69b9b79..f013e56737 100644 --- a/code/modules/antagonists/devil/true_devil/_true_devil.dm +++ b/code/modules/antagonists/devil/true_devil/_true_devil.dm @@ -84,7 +84,7 @@ . += "" /mob/living/carbon/true_devil/IsAdvancedToolUser() - return 1 + return TRUE /mob/living/carbon/true_devil/resist_buckle() if(buckled) @@ -110,7 +110,7 @@ return ..() //flashes don't stop devils UNLESS it's their bane. /mob/living/carbon/true_devil/soundbang_act() - return 0 + return FALSE /mob/living/carbon/true_devil/get_ear_protection() return 2 @@ -124,7 +124,7 @@ /mob/living/carbon/true_devil/singularity_act() if(ascended) - return 0 + return FALSE return ..() //ATTACK GHOST IGNORING PARENT RETURN VALUE @@ -138,7 +138,7 @@ return ..() /mob/living/carbon/true_devil/can_be_revived() - return 1 + return TRUE /mob/living/carbon/true_devil/resist_fire() //They're immune to fire. @@ -177,7 +177,7 @@ // devils do not need to breathe /mob/living/carbon/true_devil/is_literate() - return 1 + return TRUE /mob/living/carbon/true_devil/ex_act(severity, target, origin) if(!ascended) diff --git a/code/modules/antagonists/devil/true_devil/inventory.dm b/code/modules/antagonists/devil/true_devil/inventory.dm index e98cb5ca72..279a261cdb 100644 --- a/code/modules/antagonists/devil/true_devil/inventory.dm +++ b/code/modules/antagonists/devil/true_devil/inventory.dm @@ -1,8 +1,8 @@ -/mob/living/carbon/true_devil/doUnEquip(obj/item/I, force, silent = FALSE) +/mob/living/carbon/true_devil/doUnEquip(obj/item/I, force, invdrop, silent = FALSE) if(..()) update_inv_hands() - return 1 - return 0 + return TRUE + return FALSE /mob/living/carbon/true_devil/update_inv_hands() //TODO LORDPIDEY: Figure out how to make the hands line up properly. the l/r_hand_overlay should use the down sprite when facing down, left, or right, and the up sprite when facing up. diff --git a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm index 0389ad3aa4..7a44f5a2c4 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm @@ -170,7 +170,7 @@ to_chat(user, "These items don't possess the required fingerprints or DNA.") return FALSE - var/chosen_mob = input("Select the person you wish to curse","Your target") as null|anything in sortList(compiled_list, GLOBAL_PROC_REF(cmp_mob_realname_dsc)) + var/chosen_mob = input("Select the person you wish to curse","Your target") as null|anything in sort_list(compiled_list, GLOBAL_PROC_REF(cmp_mob_realname_dsc)) if(!chosen_mob) return FALSE curse(compiled_list[chosen_mob]) diff --git a/code/modules/antagonists/overthrow/overthrow.dm b/code/modules/antagonists/overthrow/overthrow.dm index fffd8f9237..ed55f0598a 100644 --- a/code/modules/antagonists/overthrow/overthrow.dm +++ b/code/modules/antagonists/overthrow/overthrow.dm @@ -125,7 +125,7 @@ var/datum/component/uplink/uplink = uplink_holder.GetComponent(/datum/component/uplink) uplink.telecrystals = INITIAL_CRYSTALS // Give AI hacking board - var/obj/item/aiModule/core/full/overthrow/O = new(H) + var/obj/item/ai_module/core/full/overthrow/O = new(H) var/list/slots = list ( "backpack" = ITEM_SLOT_BACKPACK, "left pocket" = ITEM_SLOT_LPOCKET, diff --git a/code/modules/antagonists/revenant/revenant.dm b/code/modules/antagonists/revenant/revenant.dm index d3654193c8..781f59332f 100644 --- a/code/modules/antagonists/revenant/revenant.dm +++ b/code/modules/antagonists/revenant/revenant.dm @@ -150,7 +150,7 @@ essencecolor = "#9A5ACB" //oh boy you've got a lot of essence else if(!essence) essencecolor = "#1D2953" //oh jeez you're dying - hud_used.healths.maptext = "
    [essence]E
    " + hud_used.healths.maptext = MAPTEXT("
    [essence]E
    ") /mob/living/simple_animal/revenant/med_hud_set_health() return //we use no hud @@ -175,7 +175,7 @@ //Immunities /mob/living/simple_animal/revenant/ex_act(severity, target, origin) - return 1 //Immune to the effects of explosions. + return TRUE //Immune to the effects of explosions. /mob/living/simple_animal/revenant/wave_ex_act(power, datum/wave_explosion/explosion, dir) return power @@ -225,7 +225,7 @@ /mob/living/simple_animal/revenant/death() if(!revealed || stasis) //Revenants cannot die if they aren't revealed //or are already dead - return 0 + return FALSE stasis = TRUE to_chat(src, "NO! No... it's too late, you can feel your essence [pick("breaking apart", "drifting away")]...") mob_transforming = TRUE @@ -333,7 +333,7 @@ to_chat(src, "Gained [essence_amt]E[source ? " from [source]":""].") else to_chat(src, "Lost [essence_amt]E[source ? " from [source]":""].") - return 1 + return TRUE /mob/living/simple_animal/revenant/proc/telekinesis_cooldown_end() if(!telekinesis_cooldown) diff --git a/code/modules/antagonists/revenant/revenant_abilities.dm b/code/modules/antagonists/revenant/revenant_abilities.dm index 7aefee68f6..8aff5072e4 100644 --- a/code/modules/antagonists/revenant/revenant_abilities.dm +++ b/code/modules/antagonists/revenant/revenant_abilities.dm @@ -176,7 +176,7 @@ user.reveal(reveal) user.stun(stun) if(action) - action.UpdateButtonIcon() + action.UpdateButtons() return TRUE //Overload Light: Breaks a light that's online and sends out lightning bolts to all nearby people. diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm index eff712c38f..1dba6f8b88 100644 --- a/code/modules/antagonists/slaughter/slaughter.dm +++ b/code/modules/antagonists/slaughter/slaughter.dm @@ -210,7 +210,7 @@ return ..() /obj/item/organ/heart/demon/Stop() - return 0 // Always beating. + return FALSE // Always beating. /mob/living/simple_animal/slaughter/laughter // The laughter demon! It's everyone's best friend! It just wants to hug diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm index 4c48ad81dd..0eac4678d7 100644 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ b/code/modules/antagonists/swarmer/swarmer.dm @@ -142,9 +142,9 @@ /mob/living/simple_animal/hostile/swarmer/CanAllowThrough(atom/movable/O) . = ..() if(istype(O, /obj/item/projectile/beam/disabler))//Allows for swarmers to fight as a group without wasting their shots hitting each other - return 1 + return TRUE if(isswarmer(O)) - return 1 + return TRUE ////CTRL CLICK FOR SWARMERS AND SWARMER_ACT()'S//// /mob/living/simple_animal/hostile/swarmer/AttackingTarget() @@ -191,11 +191,11 @@ return S.Integrate(src) /atom/movable/proc/IntegrateAmount() - return 0 + return FALSE /obj/item/IntegrateAmount() //returns the amount of resources gained when eating this item if(custom_materials[SSmaterials.GetMaterialRef(/datum/material/iron)] || custom_materials[SSmaterials.GetMaterialRef(/datum/material/glass)]) - return 1 + return TRUE return ..() /obj/item/gun/swarmer_act()//Stops you from eating the entire armory @@ -217,7 +217,7 @@ return 2 /obj/item/clockwork/alloy_shards/small/IntegrateAmount() - return 1 + return TRUE /turf/open/floor/swarmer_act()//ex_act() on turf calls it on its contents, this is to prevent attacking mobs by DisIntegrate()'ing the floor return FALSE @@ -494,7 +494,7 @@ resources -= fabrication_cost else to_chat(src, "You do not have the necessary resources to fabricate this object.") - return 0 + return FALSE return new fabrication_object(loc) /mob/living/simple_animal/hostile/swarmer/proc/Integrate(atom/movable/target) diff --git a/code/modules/antagonists/swarmer/swarmer_event.dm b/code/modules/antagonists/swarmer/swarmer_event.dm index e70d76812d..460ce687a6 100644 --- a/code/modules/antagonists/swarmer/swarmer_event.dm +++ b/code/modules/antagonists/swarmer/swarmer_event.dm @@ -13,9 +13,9 @@ /datum/round_event/spawn_swarmer/start() if(find_swarmer()) - return 0 + return FALSE if(!GLOB.the_gateway) - return 0 + return FALSE new /obj/effect/mob_spawn/swarmer(get_turf(GLOB.the_gateway)) if(prob(25)) //25% chance to announce it to the crew var/swarmer_report = "[command_name()] High-Priority Update" @@ -26,5 +26,5 @@ 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 + return TRUE + return FALSE diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm index 9f78f9afd9..b7c6e8a8b1 100644 --- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm @@ -33,9 +33,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( /datum/action/innate/ai/New() ..() - if(uses > 1) - desc = "[desc] It has [uses] use\s remaining." - button.desc = desc + desc = "[desc] It has [uses] use\s remaining." /datum/action/innate/ai/Grant(mob/living/L) . = ..() @@ -63,7 +61,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( if(!silent) to_chat(owner, "[name] now has [uses] use[uses > 1 ? "s" : ""] remaining.") desc = "[initial(desc)] It has [uses] use\s remaining." - UpdateButtonIcon() + UpdateButtons() return if(initial(uses) > 1) //no need to tell 'em if it was one-use anyway! to_chat(owner, "[name] has run out of uses!") @@ -92,7 +90,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( if(!silent) to_chat(owner, "[name] now has [uses] use[uses > 1 ? "s" : ""] remaining.") desc = "[initial(desc)] It has [uses] use\s remaining." - UpdateButtonIcon() + UpdateButtons() return if(initial(uses) > 1) //no need to tell 'em if it was one-use anyway! to_chat(owner, "[name] has run out of uses!") @@ -203,7 +201,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( else //Adding uses to an existing module action.uses += initial(action.uses) action.desc = "[initial(action.desc)] It has [action.uses] use\s remaining." - action.UpdateButtonIcon() + action.UpdateButtons() temp = "Additional use[action.uses > 1 ? "s" : ""] added to [action.name]!" processing_time -= AM.cost @@ -759,6 +757,10 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( uses = 3 auto_use_uses = FALSE +/datum/action/innate/ai/blackout/New() + ..() + desc = "[desc] It has [uses] use\s remaining." + /datum/action/innate/ai/blackout/Activate() for(var/obj/machinery/power/apc/apc in GLOB.apcs_list) if(prob(30 * apc.overload)) @@ -768,7 +770,10 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( to_chat(owner, "Overcurrent applied to the powernet.") owner.playsound_local(owner, "sparks", 50, 0) adjust_uses(-1) - + if(QDELETED(src) || uses) //Not sure if not having src here would cause a runtime, so it's here to be safe + return + desc = "[initial(desc)] It has [uses] use\s remaining." + UpdateButtons() //Disable Emergency Lights /datum/AI_Module/small/emergency_lights @@ -816,6 +821,10 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( auto_use_uses = FALSE cooldown_period = 30 +/datum/action/innate/ai/reactivate_cameras/New() + ..() + desc = "[desc] It has [uses] use\s remaining." + /datum/action/innate/ai/reactivate_cameras/Activate() var/fixed_cameras = 0 for(var/V in GLOB.cameranet.cameras) @@ -830,7 +839,10 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( to_chat(owner, "Diagnostic complete! Cameras reactivated: [fixed_cameras]. Reactivations remaining: [uses].") owner.playsound_local(owner, 'sound/items/wirecutter.ogg', 50, 0) adjust_uses(0, TRUE) //Checks the uses remaining - + if(QDELETED(src) || !uses) //Not sure if not having src here would cause a runtime, so it's here to be safe + return + desc = "[initial(desc)] It has [uses] use\s remaining." + UpdateButtons() //Upgrade Camera Network: EMP-proofs all cameras, in addition to giving them X-ray vision. /datum/AI_Module/large/upgrade_cameras diff --git a/code/modules/antagonists/wizard/equipment/spellbook.dm b/code/modules/antagonists/wizard/equipment/spellbook.dm index 0701ade73c..3240b5cc11 100644 --- a/code/modules/antagonists/wizard/equipment/spellbook.dm +++ b/code/modules/antagonists/wizard/equipment/spellbook.dm @@ -21,18 +21,18 @@ if(istype(SSticker.mode,/datum/game_mode/dynamic)) var/datum/game_mode/dynamic/mode = SSticker.mode if(dynamic_requirement > 0 && mode.threat_level < dynamic_requirement) - return 0 - return 1 + return FALSE + return TRUE /datum/spellbook_entry/proc/CanBuy(mob/living/carbon/human/user,obj/item/spellbook/book) // Specific circumstances if(book.uses= aspell.level_max) to_chat(user, "This spell cannot be improved further.") - return 0 + return FALSE else aspell.name = initial(aspell.name) aspell.spell_level++ @@ -63,22 +63,22 @@ if(aspell.spell_level >= aspell.level_max) to_chat(user, "This spell cannot be strengthened any further.") SSblackbox.record_feedback("nested tally", "wizard_spell_improved", 1, list("[name]", "[aspell.spell_level]")) - return 1 + return TRUE //No same spell found - just learn it SSblackbox.record_feedback("tally", "wizard_spell_learned", 1, name) user.mind.AddSpell(S) to_chat(user, "You have learned [S.name].") - return 1 + return TRUE /datum/spellbook_entry/proc/CanRefund(mob/living/carbon/human/user,obj/item/spellbook/book) if(!refundable) - return 0 + return FALSE if(!S) S = new spell_type() for(var/obj/effect/proc_holder/spell/aspell in user.mind.spell_list) if(initial(S.name) == initial(aspell.name)) - return 1 - return 0 + return TRUE + return FALSE /datum/spellbook_entry/proc/Refund(mob/living/carbon/human/user,obj/item/spellbook/book) //return point value or -1 for failure var/area/wizard_station/A = GLOB.areas_by_type[/area/wizard_station] @@ -228,7 +228,7 @@ spell_type = /obj/effect/proc_holder/spell/aimed/lightningbolt cost = 3 -/datum/spellbook_entry/lightningbolt/Buy(mob/living/carbon/human/user,obj/item/spellbook/book) //return 1 on success +/datum/spellbook_entry/lightningbolt/Buy(mob/living/carbon/human/user,obj/item/spellbook/book) //return TRUE on success . = ..() ADD_TRAIT(user, TRAIT_TESLA_SHOCKIMMUNE, "lightning_bolt_spell") @@ -291,7 +291,7 @@ /datum/spellbook_entry/item/Buy(mob/living/carbon/human/user,obj/item/spellbook/book) new item_path(get_turf(user)) SSblackbox.record_feedback("tally", "wizard_spell_learned", 1, name) - return 1 + return TRUE /datum/spellbook_entry/item/GetInfo() var/dat ="" @@ -520,7 +520,7 @@ /datum/spellbook_entry/summon/guns/IsAvailible() if(!SSticker.mode) // In case spellbook is placed on map - return 0 + return FALSE return (!CONFIG_GET(flag/no_summon_guns) && ..()) /datum/spellbook_entry/summon/guns/Buy(mob/living/carbon/human/user,obj/item/spellbook/book) @@ -529,7 +529,7 @@ active = 1 playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, 1) to_chat(user, "You have cast summon guns!") - return 1 + return TRUE /datum/spellbook_entry/summon/magic name = "Summon Magic" @@ -539,7 +539,7 @@ /datum/spellbook_entry/summon/magic/IsAvailible() if(!SSticker.mode) // In case spellbook is placed on map - return 0 + return FALSE return (!CONFIG_GET(flag/no_summon_guns) && ..()) /datum/spellbook_entry/summon/magic/Buy(mob/living/carbon/human/user,obj/item/spellbook/book) @@ -548,7 +548,7 @@ active = 1 playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, 1) to_chat(user, "You have cast summon magic!") - return 1 + return TRUE /datum/spellbook_entry/summon/events name = "Summon Events" @@ -558,7 +558,7 @@ /datum/spellbook_entry/summon/events/IsAvailible() if(!SSticker.mode) // In case spellbook is placed on map - return 0 + return FALSE return (!CONFIG_GET(flag/no_summon_events) && ..()) /datum/spellbook_entry/summon/events/Buy(mob/living/carbon/human/user,obj/item/spellbook/book) @@ -567,7 +567,7 @@ times++ playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, 1) to_chat(user, "You have cast summon events.") - return 1 + return TRUE /datum/spellbook_entry/summon/events/GetInfo() . = ..() @@ -755,7 +755,7 @@ if(H.stat || H.restrained()) return if(!ishuman(H)) - return 1 + return TRUE if(H.mind.special_role == "apprentice") temp = "If you got caught sneaking a peek from your teacher's spellbook, you'd likely be expelled from the Wizard Academy. Better not." diff --git a/code/modules/antagonists/wizard/wizard.dm b/code/modules/antagonists/wizard/wizard.dm index 63bb2b5b57..5e69bb3847 100644 --- a/code/modules/antagonists/wizard/wizard.dm +++ b/code/modules/antagonists/wizard/wizard.dm @@ -1,3 +1,7 @@ +#define WIZARD_DO_NOTHING 0 +#define WIZARD_QDEL_INVENTORY 1 +#define WIZARD_DROP_INVENTORY 2 + /datum/antagonist/wizard name = "Space Wizard" roundend_category = "wizards/witches" @@ -10,7 +14,8 @@ ui_name = "AntagInfoWizard" suicide_cry = "FOR THE FEDERATION!!" var/give_objectives = TRUE - var/strip = TRUE //strip before equipping + var/inventory_mode = WIZARD_QDEL_INVENTORY + var/change_species = TRUE var/allow_rename = TRUE var/datum/team/wizard/wiz_team //Only created if wizard summons apprentices var/move_to_lair = TRUE @@ -87,10 +92,14 @@ var/mob/living/carbon/human/H = owner.current if(!istype(H)) return - if(strip) - H.delete_equipment() + switch(inventory_mode) + if(WIZARD_QDEL_INVENTORY) + H.delete_equipment() + if(WIZARD_DROP_INVENTORY) + H.unequip_everything() //Wizards are human by default. Use the mirror if you want something else. - H.set_species(/datum/species/human) + if(change_species) + H.set_species(/datum/species/human) if(H.age < wiz_age) H.age = wiz_age H.equipOutfit(outfit_type) @@ -250,6 +259,17 @@ new_objective.owner = owner objectives += new_objective +/datum/antagonist/wizard/on_station + inventory_mode = WIZARD_DROP_INVENTORY + change_species = FALSE + +/datum/antagonist/wizard/on_station/on_gain() + var/datum/effect_system/smoke_spread/smoke = new + smoke.start() + smoke.set_up(2, get_turf(owner)) + owner.current.visible_message("[owner] suddenly disappears in a puff of smoke, leaving [owner.p_their()] clothes behind!", "You feel yourself being pulled away...") + return ..() + //Solo wizard report /datum/antagonist/wizard/roundend_report() var/list/parts = list() diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 67844d50bf..cd603baf55 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -30,7 +30,7 @@ var/activate_cooldown = 3 SECONDS /obj/item/assembly/get_part_rating() - return 1 + return TRUE /obj/item/assembly/proc/on_attach() diff --git a/code/modules/assembly/health.dm b/code/modules/assembly/health.dm index 0af6c85fb6..db79bb78c7 100644 --- a/code/modules/assembly/health.dm +++ b/code/modules/assembly/health.dm @@ -61,7 +61,7 @@ /obj/item/assembly/health/proc/toggle_scan() if(!secured) - return 0 + return FALSE scanning = !scanning if(scanning) START_PROCESSING(SSobj, src) diff --git a/code/modules/asset_cache/asset_list.dm b/code/modules/asset_cache/asset_list.dm index f88f57eacc..fc9b6527d2 100644 --- a/code/modules/asset_cache/asset_list.dm +++ b/code/modules/asset_cache/asset_list.dm @@ -331,7 +331,7 @@ GLOBAL_LIST_EMPTY(asset_datums) if (legacy) assets |= parents var/list/hashlist = list() - var/list/sorted_assets = sortList(assets) + var/list/sorted_assets = sort_list(assets) for (var/asset_name in sorted_assets) var/datum/asset_cache_item/ACI = new(asset_name, sorted_assets[asset_name]) diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm deleted file mode 100644 index be6850a7f7..0000000000 --- a/code/modules/asset_cache/asset_list_items.dm +++ /dev/null @@ -1,596 +0,0 @@ -//DEFINITIONS FOR ASSET DATUMS START HERE. - -/datum/asset/simple/tgui - keep_local_name = TRUE - assets = list( - "tgui.bundle.js" = file("tgui/public/tgui.bundle.js"), - "tgui.bundle.css" = file("tgui/public/tgui.bundle.css"), - ) - -/datum/asset/simple/tgui_panel - keep_local_name = TRUE - assets = list( - "tgui-panel.bundle.js" = file("tgui/public/tgui-panel.bundle.js"), - "tgui-panel.bundle.css" = file("tgui/public/tgui-panel.bundle.css"), - ) - -/datum/asset/simple/headers - assets = list( - "alarm_green.gif" = 'icons/program_icons/alarm_green.gif', - "alarm_red.gif" = 'icons/program_icons/alarm_red.gif', - "batt_5.gif" = 'icons/program_icons/batt_5.gif', - "batt_20.gif" = 'icons/program_icons/batt_20.gif', - "batt_40.gif" = 'icons/program_icons/batt_40.gif', - "batt_60.gif" = 'icons/program_icons/batt_60.gif', - "batt_80.gif" = 'icons/program_icons/batt_80.gif', - "batt_100.gif" = 'icons/program_icons/batt_100.gif', - "charging.gif" = 'icons/program_icons/charging.gif', - "downloader_finished.gif" = 'icons/program_icons/downloader_finished.gif', - "downloader_running.gif" = 'icons/program_icons/downloader_running.gif', - "ntnrc_idle.gif" = 'icons/program_icons/ntnrc_idle.gif', - "ntnrc_new.gif" = 'icons/program_icons/ntnrc_new.gif', - "power_norm.gif" = 'icons/program_icons/power_norm.gif', - "power_warn.gif" = 'icons/program_icons/power_warn.gif', - "sig_high.gif" = 'icons/program_icons/sig_high.gif', - "sig_low.gif" = 'icons/program_icons/sig_low.gif', - "sig_lan.gif" = 'icons/program_icons/sig_lan.gif', - "sig_none.gif" = 'icons/program_icons/sig_none.gif', - "smmon_0.gif" = 'icons/program_icons/smmon_0.gif', - "smmon_1.gif" = 'icons/program_icons/smmon_1.gif', - "smmon_2.gif" = 'icons/program_icons/smmon_2.gif', - "smmon_3.gif" = 'icons/program_icons/smmon_3.gif', - "smmon_4.gif" = 'icons/program_icons/smmon_4.gif', - "smmon_5.gif" = 'icons/program_icons/smmon_5.gif', - "smmon_6.gif" = 'icons/program_icons/smmon_6.gif', - "borg_mon.gif" = 'icons/program_icons/borg_mon.gif', - "robotact.gif" = 'icons/program_icons/robotact.gif' - ) - -/datum/asset/simple/radar_assets - assets = list( - "ntosradarbackground.png" = 'icons/ui_icons/tgui/ntosradar_background.png', - "ntosradarpointer.png" = 'icons/ui_icons/tgui/ntosradar_pointer.png', - "ntosradarpointerS.png" = 'icons/ui_icons/tgui/ntosradar_pointer_S.png' - ) - -/datum/asset/simple/circuit_assets - assets = list( - "grid_background.png" = 'icons/ui_icons/tgui/grid_background.png' - ) - -/datum/asset/spritesheet/simple/pda - name = "pda" - assets = list( - "atmos" = 'icons/pda_icons/pda_atmos.png', - "back" = 'icons/pda_icons/pda_back.png', - "bell" = 'icons/pda_icons/pda_bell.png', - "blank" = 'icons/pda_icons/pda_blank.png', - "boom" = 'icons/pda_icons/pda_boom.png', - "bucket" = 'icons/pda_icons/pda_bucket.png', - "medbot" = 'icons/pda_icons/pda_medbot.png', - "floorbot" = 'icons/pda_icons/pda_floorbot.png', - "cleanbot" = 'icons/pda_icons/pda_cleanbot.png', - "crate" = 'icons/pda_icons/pda_crate.png', - "cuffs" = 'icons/pda_icons/pda_cuffs.png', - "eject" = 'icons/pda_icons/pda_eject.png', - "flashlight" = 'icons/pda_icons/pda_flashlight.png', - "honk" = 'icons/pda_icons/pda_honk.png', - "mail" = 'icons/pda_icons/pda_mail.png', - "medical" = 'icons/pda_icons/pda_medical.png', - "menu" = 'icons/pda_icons/pda_menu.png', - "mule" = 'icons/pda_icons/pda_mule.png', - "notes" = 'icons/pda_icons/pda_notes.png', - "power" = 'icons/pda_icons/pda_power.png', - "rdoor" = 'icons/pda_icons/pda_rdoor.png', - "reagent" = 'icons/pda_icons/pda_reagent.png', - "refresh" = 'icons/pda_icons/pda_refresh.png', - "scanner" = 'icons/pda_icons/pda_scanner.png', - "signaler" = 'icons/pda_icons/pda_signaler.png', - // "skills" = 'icons/pda_icons/pda_skills.png', - "status" = 'icons/pda_icons/pda_status.png', - "dronephone" = 'icons/pda_icons/pda_dronephone.png', - "emoji" = 'icons/pda_icons/pda_emoji.png' - // "droneblacklist" = 'icons/pda_icons/pda_droneblacklist.png', - ) - -/datum/asset/spritesheet/simple/paper - name = "paper" - assets = list( - "stamp-clown" = 'icons/stamp_icons/large_stamp-clown.png', - "stamp-deny" = 'icons/stamp_icons/large_stamp-deny.png', - "stamp-ok" = 'icons/stamp_icons/large_stamp-ok.png', - "stamp-hop" = 'icons/stamp_icons/large_stamp-hop.png', - "stamp-cmo" = 'icons/stamp_icons/large_stamp-cmo.png', - "stamp-ce" = 'icons/stamp_icons/large_stamp-ce.png', - "stamp-hos" = 'icons/stamp_icons/large_stamp-hos.png', - "stamp-rd" = 'icons/stamp_icons/large_stamp-rd.png', - "stamp-cap" = 'icons/stamp_icons/large_stamp-cap.png', - "stamp-qm" = 'icons/stamp_icons/large_stamp-qm.png', - "stamp-law" = 'icons/stamp_icons/large_stamp-law.png', - "stamp-chap" = 'icons/stamp_icons/large_stamp-chap.png', - "stamp-mime" = 'icons/stamp_icons/large_stamp-mime.png', - "stamp-centcom" = 'icons/stamp_icons/large_stamp-centcom.png', - "stamp-syndicate" = 'icons/stamp_icons/large_stamp-syndicate.png' - ) - - -/datum/asset/simple/irv - assets = list( - "jquery-ui.custom-core-widgit-mouse-sortable-min.js" = 'html/jquery/jquery-ui.custom-core-widgit-mouse-sortable.min.js', - ) - -/datum/asset/group/irv - children = list( - /datum/asset/simple/jquery, - /datum/asset/simple/irv - ) - -/datum/asset/simple/jquery - legacy = TRUE - assets = list( - "jquery.min.js" = 'html/jquery/jquery.min.js', - ) - -/datum/asset/simple/namespaced/fontawesome - assets = list( - "fa-regular-400.eot" = 'html/font-awesome/webfonts/fa-regular-400.eot', - "fa-regular-400.woff" = 'html/font-awesome/webfonts/fa-regular-400.woff', - "fa-solid-900.eot" = 'html/font-awesome/webfonts/fa-solid-900.eot', - "fa-solid-900.woff" = 'html/font-awesome/webfonts/fa-solid-900.woff', - "v4shim.css" = 'html/font-awesome/css/v4-shims.min.css' - ) - parents = list("font-awesome.css" = 'html/font-awesome/css/all.min.css') - -/datum/asset/simple/namespaced/tgfont - assets = list( - "tgfont.eot" = file("tgui/packages/tgfont/dist/tgfont.eot"), - "tgfont.woff2" = file("tgui/packages/tgfont/dist/tgfont.woff2"), - ) - parents = list( - "tgfont.css" = file("tgui/packages/tgfont/dist/tgfont.css"), - ) - -/datum/asset/spritesheet/chat - name = "chat" - -/datum/asset/spritesheet/chat/register() - InsertAll("emoji", 'icons/emoji.dmi') - InsertAll("emoji", 'icons/emoji_32.dmi') - // pre-loading all lanugage icons also helps to avoid meta - InsertAll("language", 'icons/misc/language.dmi') - // catch languages which are pulling icons from another file - for(var/path in typesof(/datum/language)) - var/datum/language/L = path - var/icon = initial(L.icon) - if (icon != 'icons/misc/language.dmi') - var/icon_state = initial(L.icon_state) - Insert("language-[icon_state]", icon, icon_state=icon_state) - ..() - -/datum/asset/simple/lobby - assets = list( - "playeroptions.css" = 'html/browser/playeroptions.css' - ) - -/datum/asset/simple/namespaced/common - assets = list("padlock.png" = 'html/padlock.png') - parents = list("common.css" = 'html/browser/common.css') - -/datum/asset/simple/permissions - assets = list( - "search.js" = 'html/admin/search.js', - "panels.css" = 'html/admin/panels.css' - ) - -/datum/asset/group/permissions - children = list( - /datum/asset/simple/permissions, - /datum/asset/simple/namespaced/common - ) - -/datum/asset/simple/notes - assets = list( - "high_button.png" = 'html/high_button.png', - "medium_button.png" = 'html/medium_button.png', - "minor_button.png" = 'html/minor_button.png', - "none_button.png" = 'html/none_button.png', - ) - -/datum/asset/simple/arcade - assets = list( - "boss1.gif" = 'icons/ui_icons/arcade/boss1.gif', - "boss2.gif" = 'icons/ui_icons/arcade/boss2.gif', - "boss3.gif" = 'icons/ui_icons/arcade/boss3.gif', - "boss4.gif" = 'icons/ui_icons/arcade/boss4.gif', - "boss5.gif" = 'icons/ui_icons/arcade/boss5.gif', - "boss6.gif" = 'icons/ui_icons/arcade/boss6.gif', - ) - -/datum/asset/spritesheet/simple/achievements - name ="achievements" - assets = list( - "default" = 'icons/ui_icons/achievements/default.png', - "basemisc" = 'icons/ui_icons/achievements/basemisc.png', - "baseboss" = 'icons/ui_icons/achievements/baseboss.png', - "baseskill" = 'icons/ui_icons/achievements/baseskill.png', - "bbgum" = 'icons/ui_icons/achievements/Boss/bbgum.png', - "colossus" = 'icons/ui_icons/achievements/Boss/colossus.png', - "hierophant" = 'icons/ui_icons/achievements/Boss/hierophant.png', - "drake" = 'icons/ui_icons/achievements/Boss/drake.png', - "legion" = 'icons/ui_icons/achievements/Boss/legion.png', - "miner" = 'icons/ui_icons/achievements/Boss/miner.png', - "swarmer" = 'icons/ui_icons/achievements/Boss/swarmer.png', - "tendril" = 'icons/ui_icons/achievements/Boss/tendril.png', - "featofstrength" = 'icons/ui_icons/achievements/Misc/featofstrength.png', - "helbital" = 'icons/ui_icons/achievements/Misc/helbital.png', - "jackpot" = 'icons/ui_icons/achievements/Misc/jackpot.png', - "meteors" = 'icons/ui_icons/achievements/Misc/meteors.png', - "timewaste" = 'icons/ui_icons/achievements/Misc/timewaste.png', - "upgrade" = 'icons/ui_icons/achievements/Misc/upgrade.png', - "clownking" = 'icons/ui_icons/achievements/Misc/clownking.png', - "clownthanks" = 'icons/ui_icons/achievements/Misc/clownthanks.png', - "rule8" = 'icons/ui_icons/achievements/Misc/rule8.png', - "longshift" = 'icons/ui_icons/achievements/Misc/longshift.png', - "snail" = 'icons/ui_icons/achievements/Misc/snail.png', - "ascension" = 'icons/ui_icons/achievements/Misc/ascension.png', - "ashascend" = 'icons/ui_icons/achievements/Misc/ashascend.png', - "fleshascend" = 'icons/ui_icons/achievements/Misc/fleshascend.png', - "rustascend" = 'icons/ui_icons/achievements/Misc/rustascend.png', - "voidascend" = 'icons/ui_icons/achievements/Misc/voidascend.png', - "toolbox_soul" = 'icons/ui_icons/achievements/Misc/toolbox_soul.png', - "chem_tut" = 'icons/ui_icons/achievements/Misc/chem_tut.png', - "mining" = 'icons/ui_icons/achievements/Skills/mining.png', - "mafia" = 'icons/ui_icons/achievements/Mafia/mafia.png', - "town" = 'icons/ui_icons/achievements/Mafia/town.png', - "neutral" = 'icons/ui_icons/achievements/Mafia/neutral.png', - "hated" = 'icons/ui_icons/achievements/Mafia/hated.png', - "basemafia" ='icons/ui_icons/achievements/basemafia.png', - "frenching" = 'icons/ui_icons/achievements/Misc/frenchingthebubble.png' - ) - -/datum/asset/spritesheet/simple/pills - name = "pills" - assets = list( - "pill1" = 'icons/ui_icons/pills/pill1.png', - "pill2" = 'icons/ui_icons/pills/pill2.png', - "pill3" = 'icons/ui_icons/pills/pill3.png', - "pill4" = 'icons/ui_icons/pills/pill4.png', - "pill5" = 'icons/ui_icons/pills/pill5.png', - "pill6" = 'icons/ui_icons/pills/pill6.png', - "pill7" = 'icons/ui_icons/pills/pill7.png', - "pill8" = 'icons/ui_icons/pills/pill8.png', - "pill9" = 'icons/ui_icons/pills/pill9.png', - "pill10" = 'icons/ui_icons/pills/pill10.png', - "pill11" = 'icons/ui_icons/pills/pill11.png', - "pill12" = 'icons/ui_icons/pills/pill12.png', - "pill13" = 'icons/ui_icons/pills/pill13.png', - "pill14" = 'icons/ui_icons/pills/pill14.png', - "pill15" = 'icons/ui_icons/pills/pill15.png', - "pill16" = 'icons/ui_icons/pills/pill16.png', - "pill17" = 'icons/ui_icons/pills/pill17.png', - "pill18" = 'icons/ui_icons/pills/pill18.png', - "pill19" = 'icons/ui_icons/pills/pill19.png', - "pill20" = 'icons/ui_icons/pills/pill20.png', - "pill21" = 'icons/ui_icons/pills/pill21.png', - "pill22" = 'icons/ui_icons/pills/pill22.png', - ) - -// /datum/asset/spritesheet/simple/condiments -// name = "condiments" -// assets = list( -// CONDIMASTER_STYLE_FALLBACK = 'icons/ui_icons/condiments/emptycondiment.png', -// "enzyme" = 'icons/ui_icons/condiments/enzyme.png', -// "flour" = 'icons/ui_icons/condiments/flour.png', -// "mayonnaise" = 'icons/ui_icons/condiments/mayonnaise.png', -// "milk" = 'icons/ui_icons/condiments/milk.png', -// "blackpepper" = 'icons/ui_icons/condiments/peppermillsmall.png', -// "rice" = 'icons/ui_icons/condiments/rice.png', -// "sodiumchloride" = 'icons/ui_icons/condiments/saltshakersmall.png', -// "soymilk" = 'icons/ui_icons/condiments/soymilk.png', -// "soysauce" = 'icons/ui_icons/condiments/soysauce.png', -// "sugar" = 'icons/ui_icons/condiments/sugar.png', -// "ketchup" = 'icons/ui_icons/condiments/ketchup.png', -// "capsaicin" = 'icons/ui_icons/condiments/hotsauce.png', -// "frostoil" = 'icons/ui_icons/condiments/coldsauce.png', -// "bbqsauce" = 'icons/ui_icons/condiments/bbqsauce.png', -// "cornoil" = 'icons/ui_icons/condiments/oliveoil.png', -// ) - -//this exists purely to avoid meta by pre-loading all language icons. -/datum/asset/language/register() - for(var/path in typesof(/datum/language)) - set waitfor = FALSE - var/datum/language/L = new path () - L.get_icon() - -/datum/asset/spritesheet/pipes - name = "pipes" - -/datum/asset/spritesheet/pipes/register() - for (var/each in list('icons/obj/atmospherics/pipes/pipe_item.dmi', 'icons/obj/atmospherics/pipes/disposal.dmi', 'icons/obj/atmospherics/pipes/transit_tube.dmi', 'icons/obj/plumbing/fluid_ducts.dmi')) - InsertAll("", each, GLOB.alldirs) - ..() - -/datum/asset/spritesheet/supplypods - name = "supplypods" - -/datum/asset/spritesheet/supplypods/register() - for (var/style in 1 to length(GLOB.podstyles)) - if (style == STYLE_SEETHROUGH) - Insert("pod_asset[style]", icon('icons/obj/supplypods.dmi' , "seethrough-icon")) - continue - var/base = GLOB.podstyles[style][POD_BASE] - if (!base) - Insert("pod_asset[style]", icon('icons/obj/supplypods.dmi', "invisible-icon")) - continue - var/icon/podIcon = icon('icons/obj/supplypods.dmi', base) - var/door = GLOB.podstyles[style][POD_DOOR] - if (door) - door = "[base]_door" - podIcon.Blend(icon('icons/obj/supplypods.dmi', door), ICON_OVERLAY) - var/shape = GLOB.podstyles[style][POD_SHAPE] - if (shape == POD_SHAPE_NORML) - var/decal = GLOB.podstyles[style][POD_DECAL] - if (decal) - podIcon.Blend(icon('icons/obj/supplypods.dmi', decal), ICON_OVERLAY) - var/glow = GLOB.podstyles[style][POD_GLOW] - if (glow) - glow = "pod_glow_[glow]" - podIcon.Blend(icon('icons/obj/supplypods.dmi', glow), ICON_OVERLAY) - Insert("pod_asset[style]", podIcon) - return ..() - -// Representative icons for each research design -/datum/asset/spritesheet/research_designs - name = "design" - -/datum/asset/spritesheet/research_designs/register() - for (var/path in subtypesof(/datum/design)) - var/datum/design/D = path - - var/icon_file - var/icon_state - var/icon/I - - if(initial(D.research_icon) && initial(D.research_icon_state)) //If the design has an icon replacement skip the rest - icon_file = initial(D.research_icon) - icon_state = initial(D.research_icon_state) - if(!(icon_state in icon_states(icon_file))) - warning("design [D] with icon '[icon_file]' missing state '[icon_state]'") - continue - I = icon(icon_file, icon_state, SOUTH) - - else - // construct the icon and slap it into the resource cache - var/atom/item = initial(D.build_path) - if (!ispath(item, /atom)) - // biogenerator outputs to beakers by default - if (initial(D.build_type) & BIOGENERATOR) - item = /obj/item/reagent_containers/glass/beaker/large - else - continue // shouldn't happen, but just in case - - // circuit boards become their resulting machines or computers - if (ispath(item, /obj/item/circuitboard)) - var/obj/item/circuitboard/C = item - var/machine = initial(C.build_path) - if (machine) - item = machine - - // Check for GAGS support where necessary - // var/greyscale_config = initial(item.greyscale_config) - // var/greyscale_colors = initial(item.greyscale_colors) - // if (greyscale_config && greyscale_colors) - // icon_file = SSgreyscale.GetColoredIconByType(greyscale_config, greyscale_colors) - // else - icon_file = initial(item.icon) - - icon_state = initial(item.icon_state) - if(!(icon_state in icon_states(icon_file))) - warning("design [D] with icon '[icon_file]' missing state '[icon_state]'") - continue - I = icon(icon_file, icon_state, SOUTH) - - // computers (and snowflakes) get their screen and keyboard sprites - if (ispath(item, /obj/machinery/computer) || ispath(item, /obj/machinery/power/solar_control)) - var/obj/machinery/computer/C = item - var/screen = initial(C.icon_screen) - var/keyboard = initial(C.icon_keyboard) - var/all_states = icon_states(icon_file) - if (screen && (screen in all_states)) - I.Blend(icon(icon_file, screen, SOUTH), ICON_OVERLAY) - if (keyboard && (keyboard in all_states)) - I.Blend(icon(icon_file, keyboard, SOUTH), ICON_OVERLAY) - - Insert(initial(D.id), I) - return ..() - -/datum/asset/spritesheet/vending - name = "vending" - -/datum/asset/spritesheet/vending/register() - for (var/k in GLOB.vending_products) - var/atom/item = k - if (!ispath(item, /atom)) - continue - - var/icon_file - // if (initial(item.greyscale_colors) && initial(item.greyscale_config)) - // icon_file = SSgreyscale.GetColoredIconByType(initial(item.greyscale_config), initial(item.greyscale_colors)) - // else - icon_file = initial(item.icon) - var/icon_state = initial(item.icon_state) - var/icon/I - - var/icon_states_list = icon_states(icon_file) - if(icon_state in icon_states_list) - I = icon(icon_file, icon_state, SOUTH) - var/c = initial(item.color) - if (!isnull(c) && c != "#FFFFFF") - I.Blend(c, ICON_MULTIPLY) - else - var/icon_states_string - for (var/an_icon_state in icon_states_list) - if (!icon_states_string) - icon_states_string = "[json_encode(an_icon_state)](\ref[an_icon_state])" - else - icon_states_string += ", [json_encode(an_icon_state)](\ref[an_icon_state])" - stack_trace("[item] does not have a valid icon state, icon=[icon_file], icon_state=[json_encode(icon_state)](\ref[icon_state]), icon_states=[icon_states_string]") - I = icon('icons/turf/floors.dmi', "", SOUTH) - - var/imgid = replacetext(replacetext("[item]", "/obj/item/", ""), "/", "-") - - Insert(imgid, I) - return ..() - -/datum/asset/simple/genetics - assets = list( - "dna_discovered.gif" = 'html/dna_discovered.gif', - "dna_undiscovered.gif" = 'html/dna_undiscovered.gif', - "dna_extra.gif" = 'html/dna_extra.gif' - ) - -/datum/asset/simple/orbit - assets = list( - "ghost.png" = 'html/ghost.png' - ) - -/datum/asset/simple/vv - assets = list( - "view_variables.css" = 'html/admin/view_variables.css' - ) - -/datum/asset/spritesheet/sheetmaterials - name = "sheetmaterials" - -/datum/asset/spritesheet/sheetmaterials/register() - InsertAll("", 'icons/obj/stack_objects.dmi') - - // Special case to handle Bluespace Crystals - Insert("polycrystal", 'icons/obj/telescience.dmi', "polycrystal") - ..() - -/datum/asset/spritesheet/mafia - name = "mafia" - -/datum/asset/spritesheet/mafia/register() - InsertAll("", 'icons/obj/mafia.dmi') - ..() - -/datum/asset/simple/portraits - var/tab = "use subtypes of this please" - assets = list() - -/datum/asset/simple/portraits/New() - if(!SSpersistence.paintings || !SSpersistence.paintings[tab] || !length(SSpersistence.paintings[tab])) - return - for(var/p in SSpersistence.paintings[tab]) - var/list/portrait = p - var/png = "data/paintings/[tab]/[portrait["md5"]].png" - if(fexists(png)) - var/asset_name = "[tab]_[portrait["md5"]]" - assets[asset_name] = png - ..() //this is where it registers all these assets we added to the list - -/datum/asset/simple/portraits/library - tab = "library" - -/datum/asset/simple/portraits/library_secure - tab = "library_secure" - -/datum/asset/simple/portraits/library_private - tab = "library_private" - -/datum/asset/simple/safe - assets = list( - "safe_dial.png" = 'html/safe_dial.png' - ) - -// /datum/asset/spritesheet/fish -// name = "fish" - -// /datum/asset/spritesheet/fish/register() -// for (var/path in subtypesof(/datum/aquarium_behaviour/fish)) -// var/datum/aquarium_behaviour/fish/fish_type = path -// var/fish_icon = initial(fish_type.icon) -// var/fish_icon_state = initial(fish_type.icon_state) -// var/id = sanitize_css_class_name("[fish_icon][fish_icon_state]") -// if(sprites[id]) //no dupes -// continue -// Insert(id, fish_icon, fish_icon_state) -// ..() - -/datum/asset/simple/adventure - assets = list( - "default" = 'icons/ui_icons/adventure/default.png', - "grue" = 'icons/ui_icons/adventure/grue.png', - "signal_lost" ='icons/ui_icons/adventure/signal_lost.png', - "trade" = 'icons/ui_icons/adventure/trade.png', - ) - -/datum/asset/simple/inventory - assets = list( - "inventory-glasses.png" = 'icons/ui_icons/inventory/glasses.png', - "inventory-head.png" = 'icons/ui_icons/inventory/head.png', - "inventory-neck.png" = 'icons/ui_icons/inventory/neck.png', - "inventory-mask.png" = 'icons/ui_icons/inventory/mask.png', - "inventory-ears.png" = 'icons/ui_icons/inventory/ears.png', - "inventory-uniform.png" = 'icons/ui_icons/inventory/uniform.png', - "inventory-suit.png" = 'icons/ui_icons/inventory/suit.png', - "inventory-gloves.png" = 'icons/ui_icons/inventory/gloves.png', - "inventory-hand_l.png" = 'icons/ui_icons/inventory/hand_l.png', - "inventory-hand_r.png" = 'icons/ui_icons/inventory/hand_r.png', - "inventory-shoes.png" = 'icons/ui_icons/inventory/shoes.png', - "inventory-suit_storage.png" = 'icons/ui_icons/inventory/suit_storage.png', - "inventory-id.png" = 'icons/ui_icons/inventory/id.png', - "inventory-belt.png" = 'icons/ui_icons/inventory/belt.png', - "inventory-back.png" = 'icons/ui_icons/inventory/back.png', - "inventory-pocket.png" = 'icons/ui_icons/inventory/pocket.png', - "inventory-collar.png" = 'icons/ui_icons/inventory/collar.png', - ) - -/// Removes all non-alphanumerics from the text, keep in mind this can lead to id conflicts -/proc/sanitize_css_class_name(name) - var/static/regex/regex = new(@"[^a-zA-Z0-9]","g") - return replacetext(name, regex, "") - -/datum/asset/simple/tutorial_advisors - assets = list( - "chem_help_advisor.gif" = 'icons/ui_icons/advisors/chem_help_advisor.gif', - ) - -// /datum/asset/spritesheet/moods -// name = "moods" -// var/iconinserted = 1 - -// /datum/asset/spritesheet/moods/register() -// for(var/i in 1 to 9) -// var/target_to_insert = "mood"+"[iconinserted]" -// Insert(target_to_insert, 'icons/hud/screen_gen.dmi', target_to_insert) -// iconinserted++ -// ..() - -// /datum/asset/spritesheet/moods/ModifyInserted(icon/pre_asset) -// var/blended_color -// switch(iconinserted) -// if(1) -// blended_color = "#f15d36" -// if(2 to 3) -// blended_color = "#f38943" -// if(4) -// blended_color = "#dfa65b" -// if(5) -// blended_color = "#4b96c4" -// if(6) -// blended_color = "#86d656" -// else -// blended_color = "#2eeb9a" -// pre_asset.Blend(blended_color, ICON_MULTIPLY) -// return pre_asset - -/datum/asset/spritesheet/jobs - name = "jobs" - -/datum/asset/spritesheet/jobs/register() - InsertAll("", 'icons/UI_Icons/tgui/jobs.dmi') - ..() diff --git a/code/modules/asset_cache/assets/achievements.dm b/code/modules/asset_cache/assets/achievements.dm new file mode 100644 index 0000000000..7d01099dca --- /dev/null +++ b/code/modules/asset_cache/assets/achievements.dm @@ -0,0 +1,41 @@ +/datum/asset/spritesheet/simple/achievements + name ="achievements" + assets = list( + "default" = 'icons/ui_icons/achievements/default.png', + "basemisc" = 'icons/ui_icons/achievements/basemisc.png', + "baseboss" = 'icons/ui_icons/achievements/baseboss.png', + "baseskill" = 'icons/ui_icons/achievements/baseskill.png', + "bbgum" = 'icons/ui_icons/achievements/Boss/bbgum.png', + "colossus" = 'icons/ui_icons/achievements/Boss/colossus.png', + "hierophant" = 'icons/ui_icons/achievements/Boss/hierophant.png', + "drake" = 'icons/ui_icons/achievements/Boss/drake.png', + "legion" = 'icons/ui_icons/achievements/Boss/legion.png', + "miner" = 'icons/ui_icons/achievements/Boss/miner.png', + "swarmer" = 'icons/ui_icons/achievements/Boss/swarmer.png', + "tendril" = 'icons/ui_icons/achievements/Boss/tendril.png', + "featofstrength" = 'icons/ui_icons/achievements/Misc/featofstrength.png', + "helbital" = 'icons/ui_icons/achievements/Misc/helbital.png', + "jackpot" = 'icons/ui_icons/achievements/Misc/jackpot.png', + "meteors" = 'icons/ui_icons/achievements/Misc/meteors.png', + "timewaste" = 'icons/ui_icons/achievements/Misc/timewaste.png', + "upgrade" = 'icons/ui_icons/achievements/Misc/upgrade.png', + "clownking" = 'icons/ui_icons/achievements/Misc/clownking.png', + "clownthanks" = 'icons/ui_icons/achievements/Misc/clownthanks.png', + "rule8" = 'icons/ui_icons/achievements/Misc/rule8.png', + "longshift" = 'icons/ui_icons/achievements/Misc/longshift.png', + "snail" = 'icons/ui_icons/achievements/Misc/snail.png', + "ascension" = 'icons/ui_icons/achievements/Misc/ascension.png', + "ashascend" = 'icons/ui_icons/achievements/Misc/ashascend.png', + "fleshascend" = 'icons/ui_icons/achievements/Misc/fleshascend.png', + "rustascend" = 'icons/ui_icons/achievements/Misc/rustascend.png', + "voidascend" = 'icons/ui_icons/achievements/Misc/voidascend.png', + "toolbox_soul" = 'icons/ui_icons/achievements/Misc/toolbox_soul.png', + "chem_tut" = 'icons/ui_icons/achievements/Misc/chem_tut.png', + "mining" = 'icons/ui_icons/achievements/Skills/mining.png', + "mafia" = 'icons/ui_icons/achievements/Mafia/mafia.png', + "town" = 'icons/ui_icons/achievements/Mafia/town.png', + "neutral" = 'icons/ui_icons/achievements/Mafia/neutral.png', + "hated" = 'icons/ui_icons/achievements/Mafia/hated.png', + "basemafia" ='icons/ui_icons/achievements/basemafia.png', + "frenching" = 'icons/ui_icons/achievements/Misc/frenchingthebubble.png' + ) diff --git a/code/modules/asset_cache/assets/adventure.dm b/code/modules/asset_cache/assets/adventure.dm new file mode 100644 index 0000000000..65f6c3fe9c --- /dev/null +++ b/code/modules/asset_cache/assets/adventure.dm @@ -0,0 +1,7 @@ +/datum/asset/simple/adventure + assets = list( + "default" = 'icons/ui_icons/adventure/default.png', + "grue" = 'icons/ui_icons/adventure/grue.png', + "signal_lost" ='icons/ui_icons/adventure/signal_lost.png', + "trade" = 'icons/ui_icons/adventure/trade.png', + ) diff --git a/code/modules/asset_cache/assets/arcade.dm b/code/modules/asset_cache/assets/arcade.dm new file mode 100644 index 0000000000..bcd23919f9 --- /dev/null +++ b/code/modules/asset_cache/assets/arcade.dm @@ -0,0 +1,9 @@ +/datum/asset/simple/arcade + assets = list( + "boss1.gif" = 'icons/ui_icons/arcade/boss1.gif', + "boss2.gif" = 'icons/ui_icons/arcade/boss2.gif', + "boss3.gif" = 'icons/ui_icons/arcade/boss3.gif', + "boss4.gif" = 'icons/ui_icons/arcade/boss4.gif', + "boss5.gif" = 'icons/ui_icons/arcade/boss5.gif', + "boss6.gif" = 'icons/ui_icons/arcade/boss6.gif', + ) diff --git a/code/modules/asset_cache/assets/chat.dm b/code/modules/asset_cache/assets/chat.dm new file mode 100644 index 0000000000..a6b450d5d5 --- /dev/null +++ b/code/modules/asset_cache/assets/chat.dm @@ -0,0 +1,16 @@ +/datum/asset/spritesheet/chat + name = "chat" + +/datum/asset/spritesheet/chat/register() + InsertAll("emoji", 'icons/emoji.dmi') + InsertAll("emoji", 'icons/emoji_32.dmi') + // pre-loading all lanugage icons also helps to avoid meta + InsertAll("language", 'icons/misc/language.dmi') + // catch languages which are pulling icons from another file + for(var/path in typesof(/datum/language)) + var/datum/language/L = path + var/icon = initial(L.icon) + if (icon != 'icons/misc/language.dmi') + var/icon_state = initial(L.icon_state) + Insert("language-[icon_state]", icon, icon_state=icon_state) + ..() diff --git a/code/modules/asset_cache/assets/circuits.dm b/code/modules/asset_cache/assets/circuits.dm new file mode 100644 index 0000000000..df9aa1fa6d --- /dev/null +++ b/code/modules/asset_cache/assets/circuits.dm @@ -0,0 +1,4 @@ +/datum/asset/simple/circuit_assets + assets = list( + "grid_background.png" = 'icons/ui_icons/tgui/grid_background.png' + ) diff --git a/code/modules/asset_cache/assets/common.dm b/code/modules/asset_cache/assets/common.dm new file mode 100644 index 0000000000..c5ab184e96 --- /dev/null +++ b/code/modules/asset_cache/assets/common.dm @@ -0,0 +1,3 @@ +/datum/asset/simple/namespaced/common + assets = list("padlock.png" = 'html/padlock.png') + parents = list("common.css" = 'html/browser/common.css') diff --git a/code/modules/asset_cache/assets/condiments.dm b/code/modules/asset_cache/assets/condiments.dm new file mode 100644 index 0000000000..2d89092281 --- /dev/null +++ b/code/modules/asset_cache/assets/condiments.dm @@ -0,0 +1,20 @@ +// /datum/asset/spritesheet/simple/condiments +// name = "condiments" +// assets = list( +// CONDIMASTER_STYLE_FALLBACK = 'icons/ui_icons/condiments/emptycondiment.png', +// "enzyme" = 'icons/ui_icons/condiments/enzyme.png', +// "flour" = 'icons/ui_icons/condiments/flour.png', +// "mayonnaise" = 'icons/ui_icons/condiments/mayonnaise.png', +// "milk" = 'icons/ui_icons/condiments/milk.png', +// "blackpepper" = 'icons/ui_icons/condiments/peppermillsmall.png', +// "rice" = 'icons/ui_icons/condiments/rice.png', +// "sodiumchloride" = 'icons/ui_icons/condiments/saltshakersmall.png', +// "soymilk" = 'icons/ui_icons/condiments/soymilk.png', +// "soysauce" = 'icons/ui_icons/condiments/soysauce.png', +// "sugar" = 'icons/ui_icons/condiments/sugar.png', +// "ketchup" = 'icons/ui_icons/condiments/ketchup.png', +// "capsaicin" = 'icons/ui_icons/condiments/hotsauce.png', +// "frostoil" = 'icons/ui_icons/condiments/coldsauce.png', +// "bbqsauce" = 'icons/ui_icons/condiments/bbqsauce.png', +// "cornoil" = 'icons/ui_icons/condiments/oliveoil.png', +// ) diff --git a/code/modules/asset_cache/assets/fish.dm b/code/modules/asset_cache/assets/fish.dm new file mode 100644 index 0000000000..64c36eba79 --- /dev/null +++ b/code/modules/asset_cache/assets/fish.dm @@ -0,0 +1,13 @@ +// /datum/asset/spritesheet/fish +// name = "fish" + +// /datum/asset/spritesheet/fish/register() +// for (var/path in subtypesof(/datum/aquarium_behaviour/fish)) +// var/datum/aquarium_behaviour/fish/fish_type = path +// var/fish_icon = initial(fish_type.icon) +// var/fish_icon_state = initial(fish_type.icon_state) +// var/id = sanitize_css_class_name("[fish_icon][fish_icon_state]") +// if(sprites[id]) //no dupes +// continue +// Insert(id, fish_icon, fish_icon_state) +// ..() diff --git a/code/modules/asset_cache/assets/fontawesome.dm b/code/modules/asset_cache/assets/fontawesome.dm new file mode 100644 index 0000000000..6f5441ab42 --- /dev/null +++ b/code/modules/asset_cache/assets/fontawesome.dm @@ -0,0 +1,8 @@ +/datum/asset/simple/namespaced/fontawesome + assets = list( + "fa-regular-400.ttf" = 'html/font-awesome/webfonts/fa-regular-400.ttf', + "fa-solid-900.ttf" = 'html/font-awesome/webfonts/fa-solid-900.ttf', + "fa-v4compatibility.ttf" = 'html/font-awesome/webfonts/fa-v4compatibility.ttf', + "v4shim.css" = 'html/font-awesome/css/v4-shims.min.css', + ) + parents = list("font-awesome.css" = 'html/font-awesome/css/all.min.css') diff --git a/code/modules/asset_cache/assets/genetics.dm b/code/modules/asset_cache/assets/genetics.dm new file mode 100644 index 0000000000..6404ff7448 --- /dev/null +++ b/code/modules/asset_cache/assets/genetics.dm @@ -0,0 +1,6 @@ +/datum/asset/simple/genetics + assets = list( + "dna_discovered.gif" = 'html/dna_discovered.gif', + "dna_undiscovered.gif" = 'html/dna_undiscovered.gif', + "dna_extra.gif" = 'html/dna_extra.gif' + ) diff --git a/code/modules/asset_cache/assets/headers.dm b/code/modules/asset_cache/assets/headers.dm new file mode 100644 index 0000000000..8ba6b3b512 --- /dev/null +++ b/code/modules/asset_cache/assets/headers.dm @@ -0,0 +1,31 @@ +/datum/asset/simple/headers + assets = list( + "alarm_green.gif" = 'icons/program_icons/alarm_green.gif', + "alarm_red.gif" = 'icons/program_icons/alarm_red.gif', + "batt_5.gif" = 'icons/program_icons/batt_5.gif', + "batt_20.gif" = 'icons/program_icons/batt_20.gif', + "batt_40.gif" = 'icons/program_icons/batt_40.gif', + "batt_60.gif" = 'icons/program_icons/batt_60.gif', + "batt_80.gif" = 'icons/program_icons/batt_80.gif', + "batt_100.gif" = 'icons/program_icons/batt_100.gif', + "charging.gif" = 'icons/program_icons/charging.gif', + "downloader_finished.gif" = 'icons/program_icons/downloader_finished.gif', + "downloader_running.gif" = 'icons/program_icons/downloader_running.gif', + "ntnrc_idle.gif" = 'icons/program_icons/ntnrc_idle.gif', + "ntnrc_new.gif" = 'icons/program_icons/ntnrc_new.gif', + "power_norm.gif" = 'icons/program_icons/power_norm.gif', + "power_warn.gif" = 'icons/program_icons/power_warn.gif', + "sig_high.gif" = 'icons/program_icons/sig_high.gif', + "sig_low.gif" = 'icons/program_icons/sig_low.gif', + "sig_lan.gif" = 'icons/program_icons/sig_lan.gif', + "sig_none.gif" = 'icons/program_icons/sig_none.gif', + "smmon_0.gif" = 'icons/program_icons/smmon_0.gif', + "smmon_1.gif" = 'icons/program_icons/smmon_1.gif', + "smmon_2.gif" = 'icons/program_icons/smmon_2.gif', + "smmon_3.gif" = 'icons/program_icons/smmon_3.gif', + "smmon_4.gif" = 'icons/program_icons/smmon_4.gif', + "smmon_5.gif" = 'icons/program_icons/smmon_5.gif', + "smmon_6.gif" = 'icons/program_icons/smmon_6.gif', + "borg_mon.gif" = 'icons/program_icons/borg_mon.gif', + "robotact.gif" = 'icons/program_icons/robotact.gif' + ) diff --git a/code/modules/asset_cache/assets/inventory.dm b/code/modules/asset_cache/assets/inventory.dm new file mode 100644 index 0000000000..a63fc45620 --- /dev/null +++ b/code/modules/asset_cache/assets/inventory.dm @@ -0,0 +1,20 @@ +/datum/asset/simple/inventory + assets = list( + "inventory-glasses.png" = 'icons/ui_icons/inventory/glasses.png', + "inventory-head.png" = 'icons/ui_icons/inventory/head.png', + "inventory-neck.png" = 'icons/ui_icons/inventory/neck.png', + "inventory-mask.png" = 'icons/ui_icons/inventory/mask.png', + "inventory-ears.png" = 'icons/ui_icons/inventory/ears.png', + "inventory-uniform.png" = 'icons/ui_icons/inventory/uniform.png', + "inventory-suit.png" = 'icons/ui_icons/inventory/suit.png', + "inventory-gloves.png" = 'icons/ui_icons/inventory/gloves.png', + "inventory-hand_l.png" = 'icons/ui_icons/inventory/hand_l.png', + "inventory-hand_r.png" = 'icons/ui_icons/inventory/hand_r.png', + "inventory-shoes.png" = 'icons/ui_icons/inventory/shoes.png', + "inventory-suit_storage.png" = 'icons/ui_icons/inventory/suit_storage.png', + "inventory-id.png" = 'icons/ui_icons/inventory/id.png', + "inventory-belt.png" = 'icons/ui_icons/inventory/belt.png', + "inventory-back.png" = 'icons/ui_icons/inventory/back.png', + "inventory-pocket.png" = 'icons/ui_icons/inventory/pocket.png', + "inventory-collar.png" = 'icons/ui_icons/inventory/collar.png', + ) diff --git a/code/modules/asset_cache/assets/irv.dm b/code/modules/asset_cache/assets/irv.dm new file mode 100644 index 0000000000..79758edcaa --- /dev/null +++ b/code/modules/asset_cache/assets/irv.dm @@ -0,0 +1,10 @@ +/datum/asset/simple/irv + assets = list( + "jquery-ui.custom-core-widgit-mouse-sortable-min.js" = 'html/jquery/jquery-ui.custom-core-widgit-mouse-sortable.min.js', + ) + +/datum/asset/group/irv + children = list( + /datum/asset/simple/jquery, + /datum/asset/simple/irv + ) diff --git a/code/modules/asset_cache/assets/jobs.dm b/code/modules/asset_cache/assets/jobs.dm new file mode 100644 index 0000000000..b391ab43ec --- /dev/null +++ b/code/modules/asset_cache/assets/jobs.dm @@ -0,0 +1,6 @@ +/datum/asset/spritesheet/jobs + name = "jobs" + +/datum/asset/spritesheet/jobs/register() + InsertAll("", 'icons/UI_Icons/tgui/jobs.dmi') + ..() diff --git a/code/modules/asset_cache/assets/jquery.dm b/code/modules/asset_cache/assets/jquery.dm new file mode 100644 index 0000000000..b7241fdb61 --- /dev/null +++ b/code/modules/asset_cache/assets/jquery.dm @@ -0,0 +1,5 @@ +/datum/asset/simple/jquery + legacy = TRUE + assets = list( + "jquery.min.js" = 'html/jquery/jquery.min.js', + ) diff --git a/code/modules/asset_cache/assets/languages.dm b/code/modules/asset_cache/assets/languages.dm new file mode 100644 index 0000000000..f84db6a21a --- /dev/null +++ b/code/modules/asset_cache/assets/languages.dm @@ -0,0 +1,6 @@ +//this exists purely to avoid meta by pre-loading all language icons. +/datum/asset/language/register() + for(var/path in typesof(/datum/language)) + set waitfor = FALSE + var/datum/language/L = new path () + L.get_icon() diff --git a/code/modules/asset_cache/assets/lobby.dm b/code/modules/asset_cache/assets/lobby.dm new file mode 100644 index 0000000000..ce1d61e552 --- /dev/null +++ b/code/modules/asset_cache/assets/lobby.dm @@ -0,0 +1,4 @@ +/datum/asset/simple/lobby + assets = list( + "playeroptions.css" = 'html/browser/playeroptions.css' + ) diff --git a/code/modules/asset_cache/assets/mafia.dm b/code/modules/asset_cache/assets/mafia.dm new file mode 100644 index 0000000000..7ec094aea0 --- /dev/null +++ b/code/modules/asset_cache/assets/mafia.dm @@ -0,0 +1,6 @@ +/datum/asset/spritesheet/mafia + name = "mafia" + +/datum/asset/spritesheet/mafia/register() + InsertAll("", 'icons/obj/mafia.dmi') + ..() diff --git a/code/modules/asset_cache/assets/moods.dm b/code/modules/asset_cache/assets/moods.dm new file mode 100644 index 0000000000..5b16b838f9 --- /dev/null +++ b/code/modules/asset_cache/assets/moods.dm @@ -0,0 +1,28 @@ +// /datum/asset/spritesheet/moods +// name = "moods" +// var/iconinserted = 1 + +// /datum/asset/spritesheet/moods/register() +// for(var/i in 1 to 9) +// var/target_to_insert = "mood"+"[iconinserted]" +// Insert(target_to_insert, 'icons/hud/screen_gen.dmi', target_to_insert) +// iconinserted++ +// ..() + +// /datum/asset/spritesheet/moods/ModifyInserted(icon/pre_asset) +// var/blended_color +// switch(iconinserted) +// if(1) +// blended_color = "#f15d36" +// if(2 to 3) +// blended_color = "#f38943" +// if(4) +// blended_color = "#dfa65b" +// if(5) +// blended_color = "#4b96c4" +// if(6) +// blended_color = "#86d656" +// else +// blended_color = "#2eeb9a" +// pre_asset.Blend(blended_color, ICON_MULTIPLY) +// return pre_asset diff --git a/code/modules/asset_cache/assets/notes.dm b/code/modules/asset_cache/assets/notes.dm new file mode 100644 index 0000000000..8a10b3f250 --- /dev/null +++ b/code/modules/asset_cache/assets/notes.dm @@ -0,0 +1,7 @@ +/datum/asset/simple/notes + assets = list( + "high_button.png" = 'html/high_button.png', + "medium_button.png" = 'html/medium_button.png', + "minor_button.png" = 'html/minor_button.png', + "none_button.png" = 'html/none_button.png', + ) diff --git a/code/modules/asset_cache/assets/orbit.dm b/code/modules/asset_cache/assets/orbit.dm new file mode 100644 index 0000000000..1ad8bb1e18 --- /dev/null +++ b/code/modules/asset_cache/assets/orbit.dm @@ -0,0 +1,4 @@ +/datum/asset/simple/orbit + assets = list( + "ghost.png" = 'html/ghost.png' + ) diff --git a/code/modules/asset_cache/assets/paper.dm b/code/modules/asset_cache/assets/paper.dm new file mode 100644 index 0000000000..8cf50b8f3d --- /dev/null +++ b/code/modules/asset_cache/assets/paper.dm @@ -0,0 +1,19 @@ +/datum/asset/spritesheet/simple/paper + name = "paper" + assets = list( + "stamp-clown" = 'icons/stamp_icons/large_stamp-clown.png', + "stamp-deny" = 'icons/stamp_icons/large_stamp-deny.png', + "stamp-ok" = 'icons/stamp_icons/large_stamp-ok.png', + "stamp-hop" = 'icons/stamp_icons/large_stamp-hop.png', + "stamp-cmo" = 'icons/stamp_icons/large_stamp-cmo.png', + "stamp-ce" = 'icons/stamp_icons/large_stamp-ce.png', + "stamp-hos" = 'icons/stamp_icons/large_stamp-hos.png', + "stamp-rd" = 'icons/stamp_icons/large_stamp-rd.png', + "stamp-cap" = 'icons/stamp_icons/large_stamp-cap.png', + "stamp-qm" = 'icons/stamp_icons/large_stamp-qm.png', + "stamp-law" = 'icons/stamp_icons/large_stamp-law.png', + "stamp-chap" = 'icons/stamp_icons/large_stamp-chap.png', + "stamp-mime" = 'icons/stamp_icons/large_stamp-mime.png', + "stamp-centcom" = 'icons/stamp_icons/large_stamp-centcom.png', + "stamp-syndicate" = 'icons/stamp_icons/large_stamp-syndicate.png' + ) diff --git a/code/modules/asset_cache/assets/pda.dm b/code/modules/asset_cache/assets/pda.dm new file mode 100644 index 0000000000..ef38bbd05c --- /dev/null +++ b/code/modules/asset_cache/assets/pda.dm @@ -0,0 +1,34 @@ +/datum/asset/spritesheet/simple/pda + name = "pda" + assets = list( + "atmos" = 'icons/pda_icons/pda_atmos.png', + "back" = 'icons/pda_icons/pda_back.png', + "bell" = 'icons/pda_icons/pda_bell.png', + "blank" = 'icons/pda_icons/pda_blank.png', + "boom" = 'icons/pda_icons/pda_boom.png', + "bucket" = 'icons/pda_icons/pda_bucket.png', + "medbot" = 'icons/pda_icons/pda_medbot.png', + "floorbot" = 'icons/pda_icons/pda_floorbot.png', + "cleanbot" = 'icons/pda_icons/pda_cleanbot.png', + "crate" = 'icons/pda_icons/pda_crate.png', + "cuffs" = 'icons/pda_icons/pda_cuffs.png', + "eject" = 'icons/pda_icons/pda_eject.png', + "flashlight" = 'icons/pda_icons/pda_flashlight.png', + "honk" = 'icons/pda_icons/pda_honk.png', + "mail" = 'icons/pda_icons/pda_mail.png', + "medical" = 'icons/pda_icons/pda_medical.png', + "menu" = 'icons/pda_icons/pda_menu.png', + "mule" = 'icons/pda_icons/pda_mule.png', + "notes" = 'icons/pda_icons/pda_notes.png', + "power" = 'icons/pda_icons/pda_power.png', + "rdoor" = 'icons/pda_icons/pda_rdoor.png', + "reagent" = 'icons/pda_icons/pda_reagent.png', + "refresh" = 'icons/pda_icons/pda_refresh.png', + "scanner" = 'icons/pda_icons/pda_scanner.png', + "signaler" = 'icons/pda_icons/pda_signaler.png', + // "skills" = 'icons/pda_icons/pda_skills.png', + "status" = 'icons/pda_icons/pda_status.png', + "dronephone" = 'icons/pda_icons/pda_dronephone.png', + "emoji" = 'icons/pda_icons/pda_emoji.png' + // "droneblacklist" = 'icons/pda_icons/pda_droneblacklist.png', + ) diff --git a/code/modules/asset_cache/assets/permissions.dm b/code/modules/asset_cache/assets/permissions.dm new file mode 100644 index 0000000000..6cc6c0e754 --- /dev/null +++ b/code/modules/asset_cache/assets/permissions.dm @@ -0,0 +1,11 @@ +/datum/asset/simple/permissions + assets = list( + "search.js" = 'html/admin/search.js', + "panels.css" = 'html/admin/panels.css' + ) + +/datum/asset/group/permissions + children = list( + /datum/asset/simple/permissions, + /datum/asset/simple/namespaced/common + ) diff --git a/code/modules/asset_cache/assets/pills.dm b/code/modules/asset_cache/assets/pills.dm new file mode 100644 index 0000000000..bbc551e544 --- /dev/null +++ b/code/modules/asset_cache/assets/pills.dm @@ -0,0 +1,26 @@ +/datum/asset/spritesheet/simple/pills + name = "pills" + assets = list( + "pill1" = 'icons/ui_icons/pills/pill1.png', + "pill2" = 'icons/ui_icons/pills/pill2.png', + "pill3" = 'icons/ui_icons/pills/pill3.png', + "pill4" = 'icons/ui_icons/pills/pill4.png', + "pill5" = 'icons/ui_icons/pills/pill5.png', + "pill6" = 'icons/ui_icons/pills/pill6.png', + "pill7" = 'icons/ui_icons/pills/pill7.png', + "pill8" = 'icons/ui_icons/pills/pill8.png', + "pill9" = 'icons/ui_icons/pills/pill9.png', + "pill10" = 'icons/ui_icons/pills/pill10.png', + "pill11" = 'icons/ui_icons/pills/pill11.png', + "pill12" = 'icons/ui_icons/pills/pill12.png', + "pill13" = 'icons/ui_icons/pills/pill13.png', + "pill14" = 'icons/ui_icons/pills/pill14.png', + "pill15" = 'icons/ui_icons/pills/pill15.png', + "pill16" = 'icons/ui_icons/pills/pill16.png', + "pill17" = 'icons/ui_icons/pills/pill17.png', + "pill18" = 'icons/ui_icons/pills/pill18.png', + "pill19" = 'icons/ui_icons/pills/pill19.png', + "pill20" = 'icons/ui_icons/pills/pill20.png', + "pill21" = 'icons/ui_icons/pills/pill21.png', + "pill22" = 'icons/ui_icons/pills/pill22.png', + ) diff --git a/code/modules/asset_cache/assets/pipes.dm b/code/modules/asset_cache/assets/pipes.dm new file mode 100644 index 0000000000..87f0afbb64 --- /dev/null +++ b/code/modules/asset_cache/assets/pipes.dm @@ -0,0 +1,7 @@ +/datum/asset/spritesheet/pipes + name = "pipes" + +/datum/asset/spritesheet/pipes/register() + for (var/each in list('icons/obj/atmospherics/pipes/pipe_item.dmi', 'icons/obj/atmospherics/pipes/disposal.dmi', 'icons/obj/atmospherics/pipes/transit_tube.dmi', 'icons/obj/plumbing/fluid_ducts.dmi')) + InsertAll("", each, GLOB.alldirs) + ..() diff --git a/code/modules/asset_cache/assets/portraits.dm b/code/modules/asset_cache/assets/portraits.dm new file mode 100644 index 0000000000..2b758dcf98 --- /dev/null +++ b/code/modules/asset_cache/assets/portraits.dm @@ -0,0 +1,23 @@ +/datum/asset/simple/portraits + var/tab = "use subtypes of this please" + assets = list() + +/datum/asset/simple/portraits/New() + if(!SSpersistence.paintings || !SSpersistence.paintings[tab] || !length(SSpersistence.paintings[tab])) + return + for(var/p in SSpersistence.paintings[tab]) + var/list/portrait = p + var/png = "data/paintings/[tab]/[portrait["md5"]].png" + if(fexists(png)) + var/asset_name = "[tab]_[portrait["md5"]]" + assets[asset_name] = png + ..() //this is where it registers all these assets we added to the list + +/datum/asset/simple/portraits/library + tab = "library" + +/datum/asset/simple/portraits/library_secure + tab = "library_secure" + +/datum/asset/simple/portraits/library_private + tab = "library_private" diff --git a/code/modules/asset_cache/assets/radar.dm b/code/modules/asset_cache/assets/radar.dm new file mode 100644 index 0000000000..cef2679a92 --- /dev/null +++ b/code/modules/asset_cache/assets/radar.dm @@ -0,0 +1,6 @@ +/datum/asset/simple/radar_assets + assets = list( + "ntosradarbackground.png" = 'icons/ui_icons/tgui/ntosradar_background.png', + "ntosradarpointer.png" = 'icons/ui_icons/tgui/ntosradar_pointer.png', + "ntosradarpointerS.png" = 'icons/ui_icons/tgui/ntosradar_pointer_S.png' + ) diff --git a/code/modules/asset_cache/assets/research_designs.dm b/code/modules/asset_cache/assets/research_designs.dm new file mode 100644 index 0000000000..503c841794 --- /dev/null +++ b/code/modules/asset_cache/assets/research_designs.dm @@ -0,0 +1,64 @@ +// Representative icons for each research design +/datum/asset/spritesheet/research_designs + name = "design" + +/datum/asset/spritesheet/research_designs/register() + for (var/path in subtypesof(/datum/design)) + var/datum/design/D = path + + var/icon_file + var/icon_state + var/icon/I + + if(initial(D.research_icon) && initial(D.research_icon_state)) //If the design has an icon replacement skip the rest + icon_file = initial(D.research_icon) + icon_state = initial(D.research_icon_state) + if(!(icon_state in icon_states(icon_file))) + warning("design [D] with icon '[icon_file]' missing state '[icon_state]'") + continue + I = icon(icon_file, icon_state, SOUTH) + + else + // construct the icon and slap it into the resource cache + var/atom/item = initial(D.build_path) + if (!ispath(item, /atom)) + // biogenerator outputs to beakers by default + if (initial(D.build_type) & BIOGENERATOR) + item = /obj/item/reagent_containers/glass/beaker/large + else + continue // shouldn't happen, but just in case + + // circuit boards become their resulting machines or computers + if (ispath(item, /obj/item/circuitboard)) + var/obj/item/circuitboard/C = item + var/machine = initial(C.build_path) + if (machine) + item = machine + + // Check for GAGS support where necessary + // var/greyscale_config = initial(item.greyscale_config) + // var/greyscale_colors = initial(item.greyscale_colors) + // if (greyscale_config && greyscale_colors) + // icon_file = SSgreyscale.GetColoredIconByType(greyscale_config, greyscale_colors) + // else + icon_file = initial(item.icon) + + icon_state = initial(item.icon_state) + if(!(icon_state in icon_states(icon_file))) + warning("design [D] with icon '[icon_file]' missing state '[icon_state]'") + continue + I = icon(icon_file, icon_state, SOUTH) + + // computers (and snowflakes) get their screen and keyboard sprites + if (ispath(item, /obj/machinery/computer) || ispath(item, /obj/machinery/power/solar_control)) + var/obj/machinery/computer/C = item + var/screen = initial(C.icon_screen) + var/keyboard = initial(C.icon_keyboard) + var/all_states = icon_states(icon_file) + if (screen && (screen in all_states)) + I.Blend(icon(icon_file, screen, SOUTH), ICON_OVERLAY) + if (keyboard && (keyboard in all_states)) + I.Blend(icon(icon_file, keyboard, SOUTH), ICON_OVERLAY) + + Insert(initial(D.id), I) + return ..() diff --git a/code/modules/asset_cache/assets/safe.dm b/code/modules/asset_cache/assets/safe.dm new file mode 100644 index 0000000000..a074e287b3 --- /dev/null +++ b/code/modules/asset_cache/assets/safe.dm @@ -0,0 +1,4 @@ +/datum/asset/simple/safe + assets = list( + "safe_dial.png" = 'html/safe_dial.png' + ) diff --git a/code/modules/asset_cache/assets/sheetmaterials.dm b/code/modules/asset_cache/assets/sheetmaterials.dm new file mode 100644 index 0000000000..2735767b9f --- /dev/null +++ b/code/modules/asset_cache/assets/sheetmaterials.dm @@ -0,0 +1,9 @@ +/datum/asset/spritesheet/sheetmaterials + name = "sheetmaterials" + +/datum/asset/spritesheet/sheetmaterials/register() + InsertAll("", 'icons/obj/stack_objects.dmi') + + // Special case to handle Bluespace Crystals + Insert("polycrystal", 'icons/obj/telescience.dmi', "polycrystal") + ..() diff --git a/code/modules/asset_cache/assets/supplypods.dm b/code/modules/asset_cache/assets/supplypods.dm new file mode 100644 index 0000000000..a528a3a250 --- /dev/null +++ b/code/modules/asset_cache/assets/supplypods.dm @@ -0,0 +1,28 @@ +/datum/asset/spritesheet/supplypods + name = "supplypods" + +/datum/asset/spritesheet/supplypods/register() + for (var/style in 1 to length(GLOB.podstyles)) + if (style == STYLE_SEETHROUGH) + Insert("pod_asset[style]", icon('icons/obj/supplypods.dmi' , "seethrough-icon")) + continue + var/base = GLOB.podstyles[style][POD_BASE] + if (!base) + Insert("pod_asset[style]", icon('icons/obj/supplypods.dmi', "invisible-icon")) + continue + var/icon/podIcon = icon('icons/obj/supplypods.dmi', base) + var/door = GLOB.podstyles[style][POD_DOOR] + if (door) + door = "[base]_door" + podIcon.Blend(icon('icons/obj/supplypods.dmi', door), ICON_OVERLAY) + var/shape = GLOB.podstyles[style][POD_SHAPE] + if (shape == POD_SHAPE_NORML) + var/decal = GLOB.podstyles[style][POD_DECAL] + if (decal) + podIcon.Blend(icon('icons/obj/supplypods.dmi', decal), ICON_OVERLAY) + var/glow = GLOB.podstyles[style][POD_GLOW] + if (glow) + glow = "pod_glow_[glow]" + podIcon.Blend(icon('icons/obj/supplypods.dmi', glow), ICON_OVERLAY) + Insert("pod_asset[style]", podIcon) + return ..() diff --git a/code/modules/asset_cache/assets/tgfont.dm b/code/modules/asset_cache/assets/tgfont.dm new file mode 100644 index 0000000000..1d9df4282c --- /dev/null +++ b/code/modules/asset_cache/assets/tgfont.dm @@ -0,0 +1,8 @@ +/datum/asset/simple/namespaced/tgfont + assets = list( + "tgfont.eot" = file("tgui/packages/tgfont/dist/tgfont.eot"), + "tgfont.woff2" = file("tgui/packages/tgfont/dist/tgfont.woff2"), + ) + parents = list( + "tgfont.css" = file("tgui/packages/tgfont/dist/tgfont.css"), + ) diff --git a/code/modules/asset_cache/assets/tgui.dm b/code/modules/asset_cache/assets/tgui.dm new file mode 100644 index 0000000000..9c79925602 --- /dev/null +++ b/code/modules/asset_cache/assets/tgui.dm @@ -0,0 +1,13 @@ +/datum/asset/simple/tgui + keep_local_name = TRUE + assets = list( + "tgui.bundle.js" = file("tgui/public/tgui.bundle.js"), + "tgui.bundle.css" = file("tgui/public/tgui.bundle.css"), + ) + +/datum/asset/simple/tgui_panel + keep_local_name = TRUE + assets = list( + "tgui-panel.bundle.js" = file("tgui/public/tgui-panel.bundle.js"), + "tgui-panel.bundle.css" = file("tgui/public/tgui-panel.bundle.css"), + ) diff --git a/code/modules/asset_cache/assets/tutorial_advisors.dm b/code/modules/asset_cache/assets/tutorial_advisors.dm new file mode 100644 index 0000000000..da80e8904d --- /dev/null +++ b/code/modules/asset_cache/assets/tutorial_advisors.dm @@ -0,0 +1,4 @@ +/datum/asset/simple/tutorial_advisors + assets = list( + "chem_help_advisor.gif" = 'icons/ui_icons/advisors/chem_help_advisor.gif', + ) diff --git a/code/modules/asset_cache/assets/vending.dm b/code/modules/asset_cache/assets/vending.dm new file mode 100644 index 0000000000..a612e0c6b5 --- /dev/null +++ b/code/modules/asset_cache/assets/vending.dm @@ -0,0 +1,37 @@ +/datum/asset/spritesheet/vending + name = "vending" + +/datum/asset/spritesheet/vending/register() + for (var/k in GLOB.vending_products) + var/atom/item = k + if (!ispath(item, /atom)) + continue + + var/icon_file + // if (initial(item.greyscale_colors) && initial(item.greyscale_config)) + // icon_file = SSgreyscale.GetColoredIconByType(initial(item.greyscale_config), initial(item.greyscale_colors)) + // else + icon_file = initial(item.icon) + var/icon_state = initial(item.icon_state) + var/icon/I + + var/icon_states_list = icon_states(icon_file) + if(icon_state in icon_states_list) + I = icon(icon_file, icon_state, SOUTH) + var/c = initial(item.color) + if (!isnull(c) && c != "#FFFFFF") + I.Blend(c, ICON_MULTIPLY) + else + var/icon_states_string + for (var/an_icon_state in icon_states_list) + if (!icon_states_string) + icon_states_string = "[json_encode(an_icon_state)](\ref[an_icon_state])" + else + icon_states_string += ", [json_encode(an_icon_state)](\ref[an_icon_state])" + stack_trace("[item] does not have a valid icon state, icon=[icon_file], icon_state=[json_encode(icon_state)](\ref[icon_state]), icon_states=[icon_states_string]") + I = icon('icons/turf/floors.dmi', "", SOUTH) + + var/imgid = replacetext(replacetext("[item]", "/obj/item/", ""), "/", "-") + + Insert(imgid, I) + return ..() diff --git a/code/modules/asset_cache/assets/vv.dm b/code/modules/asset_cache/assets/vv.dm new file mode 100644 index 0000000000..0dd974c7c7 --- /dev/null +++ b/code/modules/asset_cache/assets/vv.dm @@ -0,0 +1,4 @@ +/datum/asset/simple/vv + assets = list( + "view_variables.css" = 'html/admin/view_variables.css' + ) diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.dm b/code/modules/atmospherics/gasmixtures/gas_mixture.dm index fe7a8fdfaf..8b00fc49d0 100644 --- a/code/modules/atmospherics/gasmixtures/gas_mixture.dm +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.dm @@ -278,7 +278,7 @@ we use a hook instead /datum/gas_mixture/copy_from_turf(turf/model) set_temperature(initial(model.initial_temperature)) parse_gas_string(model.initial_gas_mix) - return 1 + return TRUE /datum/gas_mixture/proc/__auxtools_parse_gas_string(gas_string) @@ -297,7 +297,7 @@ we use a hook instead for(var/id in gas) set_moles(id, text2num(gas[id])) archive() - return 1 + return TRUE */ /* /datum/gas_mixture/react(datum/holder) diff --git a/code/modules/atmospherics/gasmixtures/zextools_broke.dm b/code/modules/atmospherics/gasmixtures/zextools_broke.dm index fe7b1c462b..3b133b77ac 100644 --- a/code/modules/atmospherics/gasmixtures/zextools_broke.dm +++ b/code/modules/atmospherics/gasmixtures/zextools_broke.dm @@ -41,7 +41,7 @@ TOTAL_MOLES(cached_gases, .) . *= R_IDEAL_GAS_EQUATION * temperature / volume return - return 0 + return FALSE /datum/gas_mixture/return_temperature() //kelvins return temperature @@ -91,11 +91,11 @@ /datum/gas_mixture/archive() temperature_archived = temperature gas_archive = gases.Copy() - return 1 + return TRUE /datum/gas_mixture/merge(datum/gas_mixture/giver) if(!giver) - return 0 + return FALSE //heat transfer if(abs(temperature - giver.temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) @@ -111,7 +111,7 @@ for(var/giver_id in giver_gases) cached_gases[giver_id] += giver_gases[giver_id] - return 1 + return TRUE /datum/gas_mixture/remove(amount) var/sum @@ -172,7 +172,7 @@ //remove all gases not in the sample cached_gases &= sample_gases - return 1 + return TRUE /datum/gas_mixture/copy_from_turf(turf/model) parse_gas_string(model.initial_gas_mix) @@ -182,7 +182,7 @@ if(model.temperature != initial(model.temperature) || model.temperature != initial(model_parent.temperature)) temperature = model.temperature - return 1 + return TRUE /datum/gas_mixture/share(datum/gas_mixture/sharer, atmos_adjacent_turfs = 4) diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index 9f0187746f..abfb7ca899 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -16,10 +16,10 @@ if(min2 != -1 && val <= min2) return 2 if(max1 != -1 && val >= max1) - return 1 + return TRUE if(min1 != -1 && val <= min1) - return 1 - return 0 + return TRUE + return FALSE /datum/tlv/no_checks min2 = -1 @@ -488,16 +488,16 @@ /obj/machinery/airalarm/proc/shock(mob/user, prb) if((stat & (NOPOWER))) // unpowered, no shock - return 0 + return FALSE if(!prob(prb)) - return 0 //you lucked out, no shock for you + return FALSE //you lucked out, no shock for you var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread s.set_up(5, 1, src) s.start() //sparks always. if (electrocute_mob(user, get_area(src), src, 1, TRUE)) - return 1 + return TRUE else - return 0 + return FALSE /obj/machinery/airalarm/proc/refresh_all() var/area/A = get_base_area(src) @@ -519,7 +519,7 @@ /obj/machinery/airalarm/proc/send_signal(target, list/command, mob/user)//sends signal 'command' to 'target'. Returns 0 if no radio connection, 1 otherwise if(!radio_connection) - return 0 + return FALSE var/datum/signal/signal = new(command) signal.data["tag"] = target @@ -527,7 +527,7 @@ signal.data["user"] = user radio_connection.post_signal(src, signal, RADIO_FROM_AIRALARM) - return 1 + return TRUE /obj/machinery/airalarm/proc/get_mode_name(mode_value) switch(mode_value) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index cb74b71473..9ed9b39d4d 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -214,7 +214,7 @@ if(++reagent_transfer >= 10 * efficiency) // Throttle reagent transfer (higher efficiency will transfer the same amount but consume less from the beaker). reagent_transfer = 0 - return 1 + return TRUE /obj/machinery/atmospherics/components/unary/cryo_cell/process_atmos() ..() @@ -445,7 +445,7 @@ return // can't ventcrawl in or out of cryo. /obj/machinery/atmospherics/components/unary/cryo_cell/can_see_pipes() - return 0 // you can't see the pipe network when inside a cryo cell. + return FALSE // you can't see the pipe network when inside a cryo cell. /obj/machinery/atmospherics/components/unary/cryo_cell/return_temperature() var/datum/gas_mixture/G = airs[1] diff --git a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm index b60cc7bb90..c8f25d6f6a 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm @@ -84,7 +84,7 @@ update_parents() else active_power_usage = idle_power_usage - return 1 + return TRUE /obj/machinery/atmospherics/components/unary/thermomachine/power_change() ..() 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 b7f0934fd7..e7d917af43 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm @@ -194,7 +194,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/receive_signal(datum/signal/signal) if(!is_operational() || !signal.data["tag"] || (signal.data["tag"] != id_tag) || (signal.data["sigtype"]!="command")) - return 0 + return FALSE var/mob/signal_sender = signal.data["user"] diff --git a/code/modules/atmospherics/machinery/datum_pipeline.dm b/code/modules/atmospherics/machinery/datum_pipeline.dm index 1d0c59f789..dbf155b981 100644 --- a/code/modules/atmospherics/machinery/datum_pipeline.dm +++ b/code/modules/atmospherics/machinery/datum_pipeline.dm @@ -186,7 +186,7 @@ self_temperature_delta = -heat/total_heat_capacity sharer_temperature_delta = heat/sharer_heat_capacity else - return 1 + return TRUE air.set_temperature(air.return_temperature() + self_temperature_delta) modeled_location.TakeTemperature(sharer_temperature_delta) diff --git a/code/modules/atmospherics/machinery/other/meter.dm b/code/modules/atmospherics/machinery/other/meter.dm index e7ea86851b..48d69567af 100644 --- a/code/modules/atmospherics/machinery/other/meter.dm +++ b/code/modules/atmospherics/machinery/other/meter.dm @@ -57,18 +57,18 @@ /obj/machinery/meter/process_atmos() if(!(target?.flags_1 & INITIALIZED_1)) icon_state = "meterX" - return 0 + return FALSE if(stat & (BROKEN|NOPOWER)) icon_state = "meter0" - return 0 + return FALSE use_power(5) var/datum/gas_mixture/environment = target.return_air() if(!environment) icon_state = "meterX" - return 0 + return FALSE var/env_pressure = environment.return_pressure() if(env_pressure <= 0.15*ONE_ATMOSPHERE) diff --git a/code/modules/atmospherics/machinery/pipes/pipes.dm b/code/modules/atmospherics/machinery/pipes/pipes.dm index a514606e4d..beb0988f8d 100644 --- a/code/modules/atmospherics/machinery/pipes/pipes.dm +++ b/code/modules/atmospherics/machinery/pipes/pipes.dm @@ -76,7 +76,7 @@ parent = P /obj/machinery/atmospherics/pipe/zap_act(power, zap_flags) - return 0 // they're not really machines in the normal sense, probably shouldn't explode + return FALSE // they're not really machines in the normal sense, probably shouldn't explode /obj/machinery/atmospherics/pipe/Destroy() QDEL_NULL(parent) @@ -110,7 +110,7 @@ /obj/machinery/atmospherics/pipe/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) if(damage_flag == MELEE && damage_amount < 12) - return 0 + return FALSE . = ..() /obj/machinery/atmospherics/pipe/proc/paint(paint_color) diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index f7bdc173f3..bcd8d381fe 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -388,7 +388,7 @@ return switch(action) if("relabel") - var/label = input("New canister label:", name) as null|anything in sortList(label2types) + var/label = input("New canister label:", name) as null|anything in sort_list(label2types) if(label && !..()) var/newtype = label2types[label] if(newtype) diff --git a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm index fcfdd54aa9..3613a59e0a 100644 --- a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm +++ b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm @@ -21,7 +21,7 @@ air_contents = new(volume) air_contents.set_temperature(T20C) - return 1 + return TRUE /obj/machinery/portable_atmospherics/Destroy() SSair.atmos_machinery -= src diff --git a/code/modules/awaymissions/mission_code/Cabin.dm b/code/modules/awaymissions/mission_code/Cabin.dm index b5ff23d75b..51c2c130c8 100644 --- a/code/modules/awaymissions/mission_code/Cabin.dm +++ b/code/modules/awaymissions/mission_code/Cabin.dm @@ -123,7 +123,7 @@ /datum/mapGeneratorModule/snow/checkPlaceAtom(turf/T) if(istype(T, /turf/open/floor/plating/asteroid/snow)) return ..(T) - return 0 + return FALSE /datum/mapGeneratorModule/bottomlayer/snow spawnableTurfs = list(/turf/open/floor/plating/asteroid/snow/atmosphere = 100) diff --git a/code/modules/awaymissions/mission_code/wildwest.dm b/code/modules/awaymissions/mission_code/wildwest.dm index bc7e2cbd08..95b3163256 100644 --- a/code/modules/awaymissions/mission_code/wildwest.dm +++ b/code/modules/awaymissions/mission_code/wildwest.dm @@ -168,4 +168,4 @@ to_chat(C, "You're already resurrecting!") return C.apply_status_effect(STATUS_EFFECT_WISH_GRANTERS_GIFT) - return 1 + return TRUE diff --git a/code/modules/balloon_alert/balloon_alert.dm b/code/modules/balloon_alert/balloon_alert.dm index 0bd7e60dfc..88ddc9031f 100644 --- a/code/modules/balloon_alert/balloon_alert.dm +++ b/code/modules/balloon_alert/balloon_alert.dm @@ -48,7 +48,7 @@ balloon_alert.appearance_flags = RESET_ALPHA|RESET_COLOR|RESET_TRANSFORM balloon_alert.maptext = MAPTEXT("[text]") balloon_alert.maptext_x = (BALLOON_TEXT_WIDTH - bound_width) * -0.5 - balloon_alert.maptext_height = WXH_TO_HEIGHT(viewer_client?.MeasureText(text, null, BALLOON_TEXT_WIDTH)) + WXH_TO_HEIGHT(viewer_client?.MeasureText(text, null, BALLOON_TEXT_WIDTH), balloon_alert.maptext_height) balloon_alert.maptext_width = BALLOON_TEXT_WIDTH viewer_client?.images += balloon_alert diff --git a/code/modules/buildmode/buildmode.dm b/code/modules/buildmode/buildmode.dm index e0703201a1..09a93f57f8 100644 --- a/code/modules/buildmode/buildmode.dm +++ b/code/modules/buildmode/buildmode.dm @@ -136,7 +136,7 @@ build_dir = newdir close_dirswitch() dirbutton.update_icon() - return 1 + return TRUE /datum/buildmode/proc/InterceptClickOn(mob/user, params, atom/object) mode.handle_click(user.client, params, object) diff --git a/code/modules/buildmode/buttons.dm b/code/modules/buildmode/buttons.dm index 5c5c0000d1..e29739f5ad 100644 --- a/code/modules/buildmode/buttons.dm +++ b/code/modules/buildmode/buttons.dm @@ -25,7 +25,7 @@ else if(pa.Find("right")) bd.mode.change_settings(usr.client) update_icon() - return 1 + return TRUE /atom/movable/screen/buildmode/mode/update_icon_state() icon_state = bd.mode.get_button_iconstate() @@ -37,7 +37,7 @@ /atom/movable/screen/buildmode/help/Click(location, control, params) bd.mode.show_help(usr.client) - return 1 + return TRUE /atom/movable/screen/buildmode/bdir icon_state = "build" @@ -50,7 +50,7 @@ /atom/movable/screen/buildmode/bdir/Click() bd.toggle_dirswitch() update_icon() - return 1 + return TRUE // used to switch between modes /atom/movable/screen/buildmode/modeswitch @@ -64,7 +64,7 @@ /atom/movable/screen/buildmode/modeswitch/Click() bd.change_mode(modetype) - return 1 + return TRUE // used to switch between dirs /atom/movable/screen/buildmode/dirswitch @@ -77,7 +77,7 @@ /atom/movable/screen/buildmode/dirswitch/Click() bd.change_dir(dir) - return 1 + return TRUE /atom/movable/screen/buildmode/quit icon_state = "buildquit" @@ -86,4 +86,4 @@ /atom/movable/screen/buildmode/quit/Click() bd.quit() - return 1 + return TRUE diff --git a/code/modules/cargo/centcom_podlauncher.dm b/code/modules/cargo/centcom_podlauncher.dm index 595e9c6b1d..022fe105ef 100644 --- a/code/modules/cargo/centcom_podlauncher.dm +++ b/code/modules/cargo/centcom_podlauncher.dm @@ -344,7 +344,7 @@ if (temp_pod.effectShrapnel == TRUE) //If already doing custom damage, set back to default (no shrapnel) temp_pod.effectShrapnel = FALSE return - var/shrapnelInput = input("Please enter the type of pellet cloud you'd like to create on landing (Can be any projectile!)", "Projectile Typepath", 0) in sortList(subtypesof(/obj/item/projectile), GLOBAL_PROC_REF(cmp_typepaths_asc)) + var/shrapnelInput = input("Please enter the type of pellet cloud you'd like to create on landing (Can be any projectile!)", "Projectile Typepath", 0) in sort_list(subtypesof(/obj/item/projectile), GLOBAL_PROC_REF(cmp_typepaths_asc)) if (isnull(shrapnelInput)) return var/shrapnelMagnitude = input("Enter the magnitude of the pellet cloud. This is usually a value around 1-5. Please note that Ryll-Ryll has asked me to tell you that if you go too crazy with the projectiles you might crash the server. So uh, be gentle!", "Shrapnel Magnitude", 0) as null|num diff --git a/code/modules/cargo/exports.dm b/code/modules/cargo/exports.dm index 66713a3053..6ab72f2eb3 100644 --- a/code/modules/cargo/exports.dm +++ b/code/modules/cargo/exports.dm @@ -117,7 +117,7 @@ Credit dupes that require a lot of manual work shouldn't be removed, unless they // Checks the amount of exportable in object. Credits in the bill, sheets in the stack, etc. // Usually acts as a multiplier for a cost, so item that has 0 amount will be skipped in export. /datum/export/proc/get_amount(obj/O) - return 1 + return TRUE // Checks if the item is fit for export datum. /datum/export/proc/applies_to(obj/O, allowed_categories = NONE, apply_elastic = TRUE) diff --git a/code/modules/cargo/exports/materials.dm b/code/modules/cargo/exports/materials.dm index e84d36d5dc..f6976d7f44 100644 --- a/code/modules/cargo/exports/materials.dm +++ b/code/modules/cargo/exports/materials.dm @@ -11,12 +11,12 @@ /datum/export/material/get_amount(obj/O) if(!material_id) - return 0 + return FALSE if(!isitem(O)) - return 0 + return FALSE var/obj/item/I = O if(!(SSmaterials.GetMaterialRef(material_id) in I.custom_materials)) - return 0 + return FALSE var/amount = I.custom_materials[SSmaterials.GetMaterialRef(material_id)] diff --git a/code/modules/cargo/exports/seeds.dm b/code/modules/cargo/exports/seeds.dm index 1a2a18c46b..3d3c38fbf3 100644 --- a/code/modules/cargo/exports/seeds.dm +++ b/code/modules/cargo/exports/seeds.dm @@ -9,9 +9,9 @@ /datum/export/seed/get_cost(obj/O) var/obj/item/seeds/S = O if(!needs_discovery && (S.type in discoveredPlants)) - return 0 + return FALSE if(needs_discovery && !(S.type in discoveredPlants)) - return 0 + return FALSE return ..() * S.rarity // That's right, no bonus for potency. Send a crappy sample first to "show improvement" later. /datum/export/seed/sell_object(obj/O) @@ -31,7 +31,7 @@ var/obj/item/seeds/S = O var/cost = ..() if(!cost) - return 0 + return FALSE var/potDiff = (S.potency - discoveredPlants[S.type]) diff --git a/code/modules/cargo/exports/sheets.dm b/code/modules/cargo/exports/sheets.dm index 058e0cc892..79b22aba8d 100644 --- a/code/modules/cargo/exports/sheets.dm +++ b/code/modules/cargo/exports/sheets.dm @@ -6,7 +6,7 @@ var/obj/item/stack/S = O if(istype(S)) return S.amount - return 0 + return FALSE // Hides diff --git a/code/modules/client/client_defines.dm b/code/modules/client/client_defines.dm index c1399ce646..14224cf02e 100644 --- a/code/modules/client/client_defines.dm +++ b/code/modules/client/client_defines.dm @@ -134,16 +134,16 @@ var/obj/item/active_mousedown_item = null ///Used in MouseDrag to preserve the original mouse click parameters var/mouseParams = "" - ///Used in MouseDrag to preserve the last mouse-entered location. - var/mouseLocation = null - ///Used in MouseDrag to preserve the last mouse-entered object. - var/mouseObject = null - var/mouseControlObject = null + ///Used in MouseDrag to preserve the last mouse-entered location. Weakref + var/datum/weakref/mouse_location_ref = null + ///Used in MouseDrag to preserve the last mouse-entered object. Weakref + var/datum/weakref/mouse_object_ref + var/mouse_control_object /// Messages currently seen by this client var/list/seen_messages /// viewsize datum for holding our view size - var/datum/viewData/view_size + var/datum/view_data/view_size /// our current tab var/stat_tab diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index ecbc7c12b9..85a65ed814 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -167,8 +167,8 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( /client/proc/is_content_unlocked() if(!prefs.unlock_content) to_chat(src, "Become a BYOND member to access member-perks and features, as well as support the engine that makes this game possible. Only 10 bucks for 3 months! Click Here to find out more.") - return 0 - return 1 + return FALSE + return TRUE /* * Call back proc that should be checked in all paths where a client can send messages * @@ -199,11 +199,11 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( total_message_count = 0 total_count_reset = 0 cmd_admin_mute(src, mute_type, 1) - return 1 + return TRUE //Otherwise just supress the message else if(cache >= SPAM_TRIGGER_AUTOMUTE) - return 1 + return TRUE if(CONFIG_GET(flag/automute_on) && !holder && last_message == message) @@ -211,21 +211,21 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( if(src.last_message_count >= SPAM_TRIGGER_AUTOMUTE) to_chat(src, "You have exceeded the spam filter limit for identical messages. An auto-mute was applied.") cmd_admin_mute(src, mute_type, 1) - return 1 + return TRUE if(src.last_message_count >= SPAM_TRIGGER_WARNING) to_chat(src, "You are nearing the spam filter limit for identical messages.") - return 0 + return FALSE else last_message = message src.last_message_count = 0 - return 0 + return FALSE //This stops files larger than UPLOAD_LIMIT being sent from client to server via input(), client.Import() etc. /client/AllowUpload(filename, filelength) if(filelength > UPLOAD_LIMIT) to_chat(src, "Error: AllowUpload(): File Upload too large. Upload Limit: [UPLOAD_LIMIT/1024]KiB.") - return 0 - return 1 + return FALSE + return TRUE /////////// @@ -393,7 +393,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( to_chat(src, "Because you are an admin, you are being allowed to walk past this limitation, But it is still STRONGLY suggested you upgrade") else qdel(src) - return 0 + return FALSE else if (byond_version < cwv) //We have words for this client. if(CONFIG_GET(flag/client_warn_popup)) var/msg = "Your version of byond may be getting out of date:
    " @@ -413,11 +413,11 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( if (!CONFIG_GET(flag/allow_webclient)) to_chat(src, "Web client is disabled") qdel(src) - return 0 + return FALSE if (CONFIG_GET(flag/webclient_only_byond_members) && !IsByondMember()) to_chat(src, "Sorry, but the web client is restricted to byond members only.") qdel(src) - return 0 + return FALSE if( (world.address == address || !address) && !GLOB.host ) GLOB.host = key @@ -881,9 +881,9 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( click_intercept_time = 0 //Reset and return. Next click should work, but not this one. return click_intercept_time = 0 //Just reset. Let's not keep re-checking forever. - var/list/L = params2list(params) + var/list/modifiers = params2list(params) - if(L["drag"]) + if(modifiers[DRAG]) return var/mcl = CONFIG_GET(number/minute_click_limit) @@ -929,6 +929,11 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( // so that the visual focus indicator matches reality. winset(src, null, "input.background-color=[COLOR_INPUT_DISABLED]") + else + winset(src, null, "input.focus=true input.background-color=[COLOR_INPUT_ENABLED]") + + SEND_SIGNAL(src, COMSIG_CLIENT_CLICK, object, location, control, params, usr) + ..() /client/proc/add_verbs_from_config() diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index e5cd6690d2..4c992acf54 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -41,10 +41,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/last_custom_holoform = 0 //Cooldowns for saving/loading. These are four are all separate due to loading code calling these one after another - var/saveprefcooldown - var/loadprefcooldown - var/savecharcooldown - var/loadcharcooldown + COOLDOWN_DECLARE(saveprefcooldown) + COOLDOWN_DECLARE(loadprefcooldown) + COOLDOWN_DECLARE(savecharcooldown) + COOLDOWN_DECLARE(loadcharcooldown) //game-preferences var/lastchangelog = "" //Saved changlog filesize to detect if there was a change @@ -65,7 +65,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/screentip_pref = SCREENTIP_PREFERENCE_ENABLED var/screentip_color = "#ffd391" var/screentip_images = TRUE - var/buttons_locked = FALSE var/hotkeys = FALSE ///Runechat preference. If true, certain messages will be displayed on the map, not ust on the chat area. Boolean. @@ -268,6 +267,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/loadout_errors = 0 + var/pref_queue + var/char_queue + /datum/preferences/New(client/C) parent = C @@ -1070,8 +1072,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Runechat message char limit: [max_chat_length]
    " dat += "See Runechat for non-mobs: [see_chat_non_mob ? "Enabled" : "Disabled"]
    " dat += "
    " - dat += "Action Buttons: [(buttons_locked) ? "Locked In Place" : "Unlocked"]
    " - dat += "
    " dat += "PDA Color: [pda_color] Change
    " dat += "PDA Style: [pda_style]
    " dat += "PDA Reskin: [pda_skin]
    " @@ -1429,7 +1429,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) //The job before the current job. I only use this to get the previous jobs color when I'm filling in blank rows. var/datum/job/lastJob - for(var/datum/job/job in sortList(SSjob.occupations, GLOBAL_PROC_REF(cmp_job_display_asc))) + for(var/datum/job/job in sort_list(SSjob.occupations, GLOBAL_PROC_REF(cmp_job_display_asc))) index += 1 if((index >= limit) || (job.title in splitJobs)) @@ -1578,7 +1578,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) SetJobPreferenceLevel(job, jpval) SetChoices(user) - return 1 + return TRUE /datum/preferences/proc/ResetJobs() @@ -1724,7 +1724,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) UpdateJobPreference(user, href_list["text"], text2num(href_list["level"])) else SetChoices(user) - return 1 + return TRUE else if(href_list["preference"] == "trait") switch(href_list["task"]) @@ -2631,8 +2631,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/pickedui = input(user, "Choose your UI style.", "Character Preference", UI_style) as null|anything in GLOB.available_ui_styles if(pickedui) UI_style = pickedui - if (parent && parent.mob && parent.mob.hud_used) - parent.mob.hud_used.update_ui_style(ui_style2icon(UI_style)) + if (pickedui && parent && parent.mob && parent.mob.hud_used) + QDEL_NULL(parent.mob.hud_used) + parent.mob.create_mob_hud() + parent.mob.hud_used.show_hud(1, parent.mob) if("pda_style") var/pickedPDAStyle = input(user, "Choose your PDA style.", "Character Preference", pda_style) as null|anything in GLOB.pda_styles if(pickedPDAStyle) @@ -2981,7 +2983,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(!length(key_bindings[old_key])) key_bindings -= old_key key_bindings[full_key] += list(kb_name) - key_bindings[full_key] = sortList(key_bindings[full_key]) + key_bindings[full_key] = sort_list(key_bindings[full_key]) if(href_list["special"]) // special keys need a full reset user.client.ensure_keys_set(src) user << browse(null, "window=capturekeypress") @@ -3001,15 +3003,13 @@ GLOBAL_LIST_EMPTY(preferences_datums) chat_on_map = !chat_on_map if("see_chat_non_mob") see_chat_non_mob = !see_chat_non_mob - if("action_buttons") - buttons_locked = !buttons_locked if("tgui_fancy") tgui_fancy = !tgui_fancy if("outline_enabled") outline_enabled = !outline_enabled if("outline_color") var/pickedOutlineColor = input(user, "Choose your outline color.", "General Preference", outline_color) as color|null - if(pickedOutlineColor != pickedOutlineColor) + if(pickedOutlineColor != outline_color) outline_color = pickedOutlineColor // nullable if("screentip_pref") var/choice = input(user, "Choose your screentip preference", "Screentipping?", screentip_pref) as null|anything in GLOB.screentip_pref_options @@ -3217,6 +3217,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) load_character() if("changeslot") + if(char_queue) + deltimer(char_queue) // Do not dare. if(!load_character(text2num(href_list["num"]))) random_character() real_name = random_unique_name(gender) @@ -3333,7 +3335,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) user_gear[LOADOUT_CUSTOM_DESCRIPTION] = new_description ShowChoices(user) - return 1 + return TRUE /datum/preferences/proc/copy_to(mob/living/carbon/human/character, icon_updates = 1, roundstart_checks = TRUE, initial_spawn = FALSE) if(be_random_name) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index f4d0e0a8df..88f9e6c55a 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -401,7 +401,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car if(istype(parent)) to_chat(parent, "You're attempting to load your preferences a little too fast. Wait half a second, then try again.") return FALSE - loadprefcooldown = world.time + PREF_SAVELOAD_COOLDOWN + COOLDOWN_START(src, loadprefcooldown, PREF_LOAD_COOLDOWN) if(!fexists(path)) return FALSE @@ -435,7 +435,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["see_chat_non_mob"] >> see_chat_non_mob S["tgui_fancy"] >> tgui_fancy S["tgui_lock"] >> tgui_lock - S["buttons_locked"] >> buttons_locked S["windowflash"] >> windowflashing S["be_special"] >> be_special @@ -513,7 +512,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car see_chat_non_mob = sanitize_integer(see_chat_non_mob, 0, 1, initial(see_chat_non_mob)) tgui_fancy = sanitize_integer(tgui_fancy, 0, 1, initial(tgui_fancy)) tgui_lock = sanitize_integer(tgui_lock, 0, 1, initial(tgui_lock)) - buttons_locked = sanitize_integer(buttons_locked, 0, 1, initial(buttons_locked)) windowflashing = sanitize_integer(windowflashing, 0, 1, initial(windowflashing)) default_slot = sanitize_integer(default_slot, 1, max_save_slots, initial(default_slot)) toggles = sanitize_integer(toggles, 0, 16777215, initial(toggles)) @@ -595,18 +593,20 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car if(!GLOB.keybindings_by_name[bindname]) modless_key_bindings -= key -/datum/preferences/proc/save_preferences(bypass_cooldown = FALSE) +/datum/preferences/proc/save_preferences(bypass_cooldown = FALSE, silent = FALSE) if(!path) - return 0 + return FALSE if(!bypass_cooldown) if(world.time < saveprefcooldown) if(istype(parent)) - to_chat(parent, "You're attempting to save your preferences a little too fast. Wait half a second, then try again.") - return 0 - saveprefcooldown = world.time + PREF_SAVELOAD_COOLDOWN + queue_save_pref(PREF_SAVE_COOLDOWN, silent) + return FALSE + COOLDOWN_START(src, saveprefcooldown, PREF_SAVE_COOLDOWN) + if(pref_queue) + deltimer(pref_queue) var/savefile/S = new /savefile(path) if(!S) - return 0 + return FALSE S.cd = "/" WRITE_FILE(S["version"] , SAVEFILE_VERSION_MAX) //updates (or failing that the sanity checks) will ensure data is not invalid at load. Assume up-to-date @@ -626,7 +626,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["see_chat_non_mob"], see_chat_non_mob) WRITE_FILE(S["tgui_fancy"], tgui_fancy) WRITE_FILE(S["tgui_lock"], tgui_lock) - WRITE_FILE(S["buttons_locked"], buttons_locked) WRITE_FILE(S["windowflash"], windowflashing) WRITE_FILE(S["be_special"], be_special) WRITE_FILE(S["default_slot"], default_slot) @@ -676,7 +675,17 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car else WRITE_FILE(S["unlockable_loadout"], safe_json_encode(list())) - return 1 + if(parent && !silent) + to_chat(parent, span_notice("Saved preferences!")) + + return TRUE + +/datum/preferences/proc/queue_save_pref(save_in, silent) + if(parent && !silent) + to_chat(parent, span_notice("Saving preferences in [save_in * 0.1] second\s.")) + if(pref_queue) + deltimer(pref_queue) + pref_queue = addtimer(CALLBACK(src, PROC_REF(save_preferences), TRUE, silent), save_in, TIMER_STOPPABLE) /datum/preferences/proc/load_character(slot, bypass_cooldown = FALSE) if(!path) @@ -686,7 +695,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car if(istype(parent)) to_chat(parent, "You're attempting to load your character a little too fast. Wait half a second, then try again.") return "SLOW THE FUCK DOWN" //the reason this isn't null is to make sure that people don't have their character slots overridden by random chars if they accidentally double-click a slot - loadcharcooldown = world.time + PREF_SAVELOAD_COOLDOWN + COOLDOWN_START(src, loadcharcooldown, PREF_LOAD_COOLDOWN) if(!fexists(path)) return FALSE var/savefile/S = new /savefile(path) @@ -1084,20 +1093,22 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car cit_character_pref_load(S) - return 1 + return TRUE -/datum/preferences/proc/save_character(bypass_cooldown = FALSE) +/datum/preferences/proc/save_character(bypass_cooldown = FALSE, silent = FALSE) if(!path) - return 0 + return FALSE if(!bypass_cooldown) if(world.time < savecharcooldown) if(istype(parent)) - to_chat(parent, "You're attempting to save your character a little too fast. Wait half a second, then try again.") - return 0 - savecharcooldown = world.time + PREF_SAVELOAD_COOLDOWN + queue_save_char(PREF_SAVE_COOLDOWN, silent) + return FALSE + COOLDOWN_START(src, savecharcooldown, PREF_SAVE_COOLDOWN) + if(char_queue) + deltimer(char_queue) var/savefile/S = new /savefile(path) if(!S) - return 0 + return FALSE S.cd = "/character[default_slot]" WRITE_FILE(S["version"] , SAVEFILE_VERSION_MAX) //load_character will sanitize any bad data, so assume up-to-date.) @@ -1281,8 +1292,17 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car cit_character_pref_save(S) - return 1 + if(parent && !silent) + to_chat(parent, span_notice("Saved character slot!")) + return TRUE + +/datum/preferences/proc/queue_save_char(save_in, silent) + if(parent && !silent) + to_chat(parent, span_notice("Saving character in [save_in * 0.1] second\s.")) + if(char_queue) + deltimer(char_queue) + char_queue = addtimer(CALLBACK(src, PROC_REF(save_character), TRUE, silent), save_in, TIMER_STOPPABLE) #undef SAVEFILE_VERSION_MAX #undef SAVEFILE_VERSION_MIN diff --git a/code/modules/client/verbs/ooc.dm b/code/modules/client/verbs/ooc.dm index 93f91ad3a0..3485a45771 100644 --- a/code/modules/client/verbs/ooc.dm +++ b/code/modules/client/verbs/ooc.dm @@ -237,7 +237,7 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8") choices["[C.mob]([C])"] = C else choices[C] = C - choices = sortList(choices) + choices = sort_list(choices) var/selection = input("Please, select a player!", "Ignore", null, null) as null|anything in choices if(!selection || !(selection in choices)) return diff --git a/code/modules/client/verbs/who.dm b/code/modules/client/verbs/who.dm index 5786191f4d..fe445973ad 100644 --- a/code/modules/client/verbs/who.dm +++ b/code/modules/client/verbs/who.dm @@ -50,7 +50,7 @@ else Lines += "[C.key] ([round(C.avgping, 1)]ms)" - for(var/line in sortList(Lines)) + for(var/line in sort_list(Lines)) msg += "[line]\n" msg += "Total Players: [length(Lines)]" diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 70eb975246..f26da5db38 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -17,7 +17,7 @@ var/obj/item/clothing/mask/chameleon/drone/Z = target Z.chameleon_action.random_look(owner) - return 1 + return TRUE /datum/action/item_action/chameleon/drone/togglehatmask @@ -65,7 +65,7 @@ qdel(old_headgear) // where is `ITEM_SLOT_HEAD` defined? WHO KNOWS D.equip_to_slot(new_headgear, ITEM_SLOT_HEAD) - return 1 + return TRUE /datum/action/chameleon_outfit @@ -162,8 +162,8 @@ ..() /datum/action/item_action/chameleon/change/proc/initialize_disguises() - if(button) - button.name = "Change [chameleon_name] Appearance" + name = "Change [chameleon_name] Appearance" + UpdateButtons() chameleon_blacklist |= typecacheof(target.type) for(var/V in typesof(chameleon_type)) @@ -209,7 +209,7 @@ update_item(picked_item) var/obj/item/thing = target thing.update_slot_icon() - UpdateButtonIcon() + UpdateButtons() /datum/action/item_action/chameleon/change/proc/update_item(obj/item/picked_item) target.name = initial(picked_item.name) @@ -245,7 +245,7 @@ return select_look(owner) - return 1 + return TRUE /datum/action/item_action/chameleon/change/proc/emp_randomise(var/amount = EMP_RANDOMISE_TIME) START_PROCESSING(SSprocessing, src) @@ -435,9 +435,9 @@ CHAMELEON_CLOTHING_DEFINE(/obj/item/clothing/head/chameleon) ADD_TRAIT(src, TRAIT_NODROP, ABSTRACT_ITEM_TRAIT) chameleon_action.random_look() var/datum/action/item_action/chameleon/drone/togglehatmask/togglehatmask_action = new(src) - togglehatmask_action.UpdateButtonIcon() + togglehatmask_action.UpdateButtons() var/datum/action/item_action/chameleon/drone/randomise/randomise_action = new(src) - randomise_action.UpdateButtonIcon() + randomise_action.UpdateButtons() CHAMELEON_CLOTHING_DEFINE(/obj/item/clothing/mask/chameleon) name = "gas mask" @@ -489,9 +489,9 @@ CHAMELEON_CLOTHING_DEFINE(/obj/item/clothing/mask/chameleon) ADD_TRAIT(src, TRAIT_NODROP, ABSTRACT_ITEM_TRAIT) chameleon_action.random_look() var/datum/action/item_action/chameleon/drone/togglehatmask/togglehatmask_action = new(src) - togglehatmask_action.UpdateButtonIcon() + togglehatmask_action.UpdateButtons() var/datum/action/item_action/chameleon/drone/randomise/randomise_action = new(src) - randomise_action.UpdateButtonIcon() + randomise_action.UpdateButtons() /obj/item/clothing/mask/chameleon/drone/attack_self(mob/user) to_chat(user, "[src] does not have a voice changer.") diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 3a3f7f863b..e3f4e5213e 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -113,7 +113,7 @@ if(do_after(user, 6 SECONDS, src)) if(S.use(3)) repair(user, params) - return 1 + return TRUE return ..() // Set the clothing's integrity back to 100%, remove all damage to bodyparts, and generally fix it up @@ -402,7 +402,7 @@ BLIND // can't see anything C.head_update(src, forced = 1) for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon() + A.UpdateButtons() return TRUE /obj/item/clothing/proc/visor_toggling() //handles all the actual toggling of flags @@ -420,8 +420,8 @@ BLIND // can't see anything /obj/item/clothing/proc/can_use(mob/user) if(user && ismob(user)) if(!user.incapacitated()) - return 1 - return 0 + return TRUE + return FALSE /obj/item/clothing/obj_destruction(damage_flag) diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index b2a7f91e96..e323b1b000 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -121,7 +121,7 @@ /obj/item/clothing/glasses/science/item_action_slot_check(slot, mob/user, datum/action/A) if(slot == ITEM_SLOT_EYES) - return 1 + return TRUE /obj/item/clothing/glasses/night name = "night vision goggles" diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm index 461648c270..395eeaeaa6 100644 --- a/code/modules/clothing/glasses/engine_goggles.dm +++ b/code/modules/clothing/glasses/engine_goggles.dm @@ -62,7 +62,7 @@ update_icon() for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon() + A.UpdateButtons() /obj/item/clothing/glasses/meson/engine/attack_self(mob/user) toggle_mode(user, TRUE) @@ -99,7 +99,7 @@ var/strength = round(rad_places[i] / 1000, 0.1) var/image/pic = image(loc = place) var/mutable_appearance/MA = new() - MA.maptext = "[strength]k" + MA.maptext = MAPTEXT("[strength]k") MA.color = "#04e604" MA.layer = RAD_TEXT_LAYER MA.plane = GAME_PLANE diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index ff78b51909..4f370866b3 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -389,7 +389,7 @@ set_light(0) for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon() + A.UpdateButtons() /obj/item/clothing/head/helmet/durathread name = "makeshift helmet" diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index be32618c88..d24e004802 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -203,7 +203,7 @@ /obj/item/clothing/head/fedora/suicide_act(mob/user) if(user.gender == FEMALE) - return 0 + return FALSE var/mob/living/carbon/human/H = user user.visible_message("[user] is donning [src]! It looks like [user.p_theyre()] trying to be nice to girls.") user.say("M'lady.", forced = "fedora suicide") diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index a2d13822f8..1c9b15b398 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -115,7 +115,7 @@ user.update_inv_wear_mask() for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon() + A.UpdateButtons() to_chat(user, "Your Clown Mask has now morphed into [choice], all praise the Honkmother!") return TRUE @@ -181,7 +181,7 @@ user.update_inv_wear_mask() for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon() + A.UpdateButtons() to_chat(user, "Your Mime Mask has now morphed into [choice]!") return TRUE @@ -274,7 +274,7 @@ user.update_inv_wear_mask() for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon() + A.UpdateButtons() to_chat(M, "The Tiki Mask has now changed into the [choice] Mask!") return TRUE diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index f96fe2ac2a..9f837654a0 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -109,9 +109,9 @@ user.update_inv_wear_mask() for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon() + A.UpdateButtons() to_chat(user, "Your Joy mask now has a [choice] Emotion!") - return 1 + return TRUE /obj/item/clothing/mask/kitsuneblk name = "Black Kitsune Mask" @@ -475,6 +475,6 @@ user.update_inv_wear_mask() for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon() + A.UpdateButtons() to_chat(user, "Your paper mask now has a [choice] symbol!") - return 1 + return TRUE diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index 998227df06..304a4a3545 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -36,7 +36,7 @@ user.update_gravity(user.has_gravity()) for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon() + A.UpdateButtons() /obj/item/clothing/shoes/magboots/negates_gravity() return clothing_flags & NOSLIP diff --git a/code/modules/clothing/spacesuits/chronosuit.dm b/code/modules/clothing/spacesuits/chronosuit.dm index cad9e0a3b3..f5c2c44f58 100644 --- a/code/modules/clothing/spacesuits/chronosuit.dm +++ b/code/modules/clothing/spacesuits/chronosuit.dm @@ -91,7 +91,7 @@ if(camera) camera.remove_target_ui() camera.forceMove(user) - teleport_now.UpdateButtonIcon() + teleport_now.UpdateButtons() /obj/item/clothing/suit/space/chronos/proc/chronowalk(atom/location) var/mob/living/carbon/human/user = src.loc @@ -105,7 +105,7 @@ if(camera) camera.remove_target_ui() - teleport_now.UpdateButtonIcon() + teleport_now.UpdateButtons() var/list/nonsafe_slots = list(ITEM_SLOT_BELT, ITEM_SLOT_BACK) var/list/exposed = list() diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 614adb8b1b..e6ed9c3d51 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -51,7 +51,7 @@ /obj/item/clothing/head/helmet/space/hardsuit/item_action_slot_check(slot, mob/user, datum/action/A) if(slot == ITEM_SLOT_HEAD) - return 1 + return TRUE /obj/item/clothing/head/helmet/space/hardsuit/equipped(mob/user, slot) ..() @@ -159,7 +159,7 @@ /obj/item/clothing/suit/space/hardsuit/item_action_slot_check(slot, mob/user, datum/action/A) if(slot == ITEM_SLOT_OCLOTHING) //we only give the mob the ability to toggle the helmet if he's wearing the hardsuit. - return 1 + return TRUE //Engineering /obj/item/clothing/head/helmet/space/hardsuit/engine @@ -345,7 +345,7 @@ C.head_update(src, forced = 1) for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon() + A.UpdateButtons() /obj/item/clothing/head/helmet/space/hardsuit/syndi/proc/toggle_hardsuit_mode(mob/user) //Helmet Toggles Suit Mode if(linkedsuit) @@ -937,7 +937,7 @@ set_light(0) for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon() + A.UpdateButtons() /obj/item/clothing/head/helmet/space/hardsuit/lavaknight/update_overlays() . = ..() diff --git a/code/modules/clothing/suits/reactive_armour.dm b/code/modules/clothing/suits/reactive_armour.dm index 2f2c861b6b..3804cc5ae7 100644 --- a/code/modules/clothing/suits/reactive_armour.dm +++ b/code/modules/clothing/suits/reactive_armour.dm @@ -213,7 +213,7 @@ if(prob(hit_reaction_chance)) if(world.time < reactivearmor_cooldown) owner.visible_message("The repulse generator is still recharging!") - return 0 + return FALSE playsound(get_turf(owner),'sound/magic/repulse.ogg', 100, 1) owner.visible_message("[src] blocks [attack_text], converting the attack into a wave of force!") var/turf/T = get_turf(owner) diff --git a/code/modules/clothing/suits/toggles.dm b/code/modules/clothing/suits/toggles.dm index 25cbf27cf6..9fc51b8287 100644 --- a/code/modules/clothing/suits/toggles.dm +++ b/code/modules/clothing/suits/toggles.dm @@ -32,7 +32,7 @@ /obj/item/clothing/suit/hooded/item_action_slot_check(slot, mob/user, datum/action/A) if(slot == ITEM_SLOT_OCLOTHING || slot == ITEM_SLOT_NECK) - return 1 + return TRUE /obj/item/clothing/suit/hooded/equipped(mob/user, slot) if(slot != ITEM_SLOT_OCLOTHING && slot != ITEM_SLOT_NECK) @@ -127,7 +127,7 @@ set src in usr if(!can_use(usr)) - return 0 + return FALSE on_toggle(usr) if(src.suittoggled) @@ -139,7 +139,7 @@ usr.update_inv_wear_suit() for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon() + A.UpdateButtons() /obj/item/clothing/suit/toggle/examine(mob/user) . = ..() diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index da80479bd3..ebc590185c 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -315,7 +315,7 @@ /obj/item/clothing/suit/space/hardsuit/shielded/wizard/ComponentInitialize() . = ..() - AddElement(/datum/element/spellcasting, SPELL_WIZARD_HAT, ITEM_SLOT_HEAD) + AddElement(/datum/element/spellcasting, SPELL_WIZARD_ROBE, ITEM_SLOT_OCLOTHING) /obj/item/clothing/head/helmet/space/hardsuit/shielded/wizard name = "battlemage helmet" @@ -330,7 +330,7 @@ /obj/item/clothing/head/helmet/space/hardsuit/shielded/wizard/ComponentInitialize() . = ..() - AddElement(/datum/element/spellcasting, SPELL_WIZARD_ROBE, ITEM_SLOT_OCLOTHING) + AddElement(/datum/element/spellcasting, SPELL_WIZARD_HAT, ITEM_SLOT_HEAD) /obj/item/clothing/head/helmet/space/hardsuit/shielded/wizard/attack_self(mob/user) return diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index fc4cee1bed..776d2c4a53 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -37,14 +37,14 @@ if((sensordamage || (has_sensor < HAS_SENSORS && has_sensor != NO_SENSORS)) && istype(I, /obj/item/stack/cable_coil)) if(damaged_clothes == CLOTHING_SHREDDED) to_chat(user,"[src] is too damaged to have its suit sensors repaired! Repair it first.") - return 0 + return FALSE var/obj/item/stack/cable_coil/C = I I.use_tool(src, user, 0, 1) has_sensor = HAS_SENSORS sensordamage = 0 sensor_mode = sensor_mode_intended to_chat(user,"You repair the suit sensors on [src] with [C].") - return 1 + return TRUE if(!attach_accessory(I, user)) return ..() @@ -233,13 +233,13 @@ return if(src.has_sensor == BROKEN_SENSORS) to_chat(usr, "The sensors have shorted out!") - return 0 + return FALSE if(src.sensor_flags & SENSOR_LOCKED) to_chat(usr, "The controls are locked.") - return 0 + return FALSE if(src.has_sensor <= NO_SENSORS) to_chat(usr, "This suit does not have any sensors.") - return 0 + return FALSE var/list/modes = list("Off", "Binary vitals", "Exact vitals", "Tracking beacon") var/switchMode = input("Select a sensor mode:", "Suit Sensor Mode", modes[sensor_mode + 1]) in modes @@ -292,10 +292,10 @@ if(src.has_sensor == BROKEN_SENSORS) to_chat(usr, "The sensors have shorted out!") - return 0 + return FALSE if(src.sensor_flags & SENSOR_LOCKED) to_chat(usr, "The controls are locked.") - return 0 + return FALSE if(has_sensor <= NO_SENSORS) to_chat(user, "This suit does not have any sensors.") return diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 2071dd6930..1f9c8fd2bd 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -141,7 +141,7 @@ H.visible_message("[H]'s suit automatically extinguishes [H.p_them()]!","Your suit automatically extinguishes you.") H.ExtinguishMob() new /obj/effect/particle_effect/water(get_turf(H)) - return 0 + return FALSE /obj/item/clothing/under/plasmaman/attackby(obj/item/E, mob/user, params) ..() diff --git a/code/modules/events/holiday/xmas.dm b/code/modules/events/holiday/xmas.dm index a9bedb3c57..bfc291c970 100644 --- a/code/modules/events/holiday/xmas.dm +++ b/code/modules/events/holiday/xmas.dm @@ -29,7 +29,7 @@ other_half.icon_state = "cracker2" target.put_in_active_hand(other_half) playsound(user, 'sound/effects/snap.ogg', 50, 1) - return 1 + return TRUE return ..() /obj/item/clothing/head/festive diff --git a/code/modules/events/immovable_rod.dm b/code/modules/events/immovable_rod.dm index a48191e8a1..525b49ba6a 100644 --- a/code/modules/events/immovable_rod.dm +++ b/code/modules/events/immovable_rod.dm @@ -101,7 +101,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 walk_towards(src, destination, 1) /obj/effect/immovablerod/ex_act(severity, target, origin) - return 0 + return FALSE /obj/effect/immovablerod/singularity_act() return diff --git a/code/modules/events/pirates.dm b/code/modules/events/pirates.dm index 25d5d17d4b..b9ded6b97d 100644 --- a/code/modules/events/pirates.dm +++ b/code/modules/events/pirates.dm @@ -458,9 +458,9 @@ /datum/export/pirate/ransom/get_cost(atom/movable/AM) var/mob/living/carbon/human/H = AM if(H.stat != CONSCIOUS || !H.mind || !H.mind.assigned_role) //mint condition only - return 0 + return FALSE else if("pirate" in H.faction) //can't ransom your fellow pirates to CentCom! - return 0 + return FALSE else if(H.mind.assigned_role in GLOB.command_positions) return 3000 diff --git a/code/modules/events/portal_storm.dm b/code/modules/events/portal_storm.dm index b1b68fb585..49e60893f3 100644 --- a/code/modules/events/portal_storm.dm +++ b/code/modules/events/portal_storm.dm @@ -108,16 +108,16 @@ /datum/round_event/portal_storm/proc/spawn_hostile() if(!hostile_types || !hostile_types.len) - return 0 + return FALSE return ISMULTIPLE(activeFor, 2) /datum/round_event/portal_storm/proc/spawn_boss() if(!boss_types || !boss_types.len) - return 0 + return FALSE if(activeFor == next_boss_spawn) next_boss_spawn += CEILING(number_of_hostiles / number_of_bosses, 1) - return 1 + return TRUE /datum/round_event/portal_storm/proc/time_to_end() if(!hostile_types.len && !boss_types.len) diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm index 1bbcb0dd92..44703a3b24 100644 --- a/code/modules/events/spacevine.dm +++ b/code/modules/events/spacevine.dm @@ -124,7 +124,7 @@ quality = MINOR_NEGATIVE /datum/spacevine_mutation/fire_proof/process_temperature(obj/structure/spacevine/holder, temp, volume) - return 1 + return TRUE /datum/spacevine_mutation/fire_proof/on_hit(obj/structure/spacevine/holder, mob/hitter, obj/item/I, expected_damage) if(I && I.damtype == "fire") diff --git a/code/modules/events/wizard/greentext.dm b/code/modules/events/wizard/greentext.dm index 1864ad6d20..50b133e0d3 100644 --- a/code/modules/events/wizard/greentext.dm +++ b/code/modules/events/wizard/greentext.dm @@ -13,7 +13,7 @@ if(!ishuman(M)) holder_canadates -= M if(!holder_canadates) //Very unlikely, but just in case - return 0 + return FALSE var/mob/living/carbon/human/H = pick(holder_canadates) new /obj/item/greentext(H.loc) diff --git a/code/modules/events/wizard/madness.dm b/code/modules/events/wizard/madness.dm index de2c30a032..b960b07467 100644 --- a/code/modules/events/wizard/madness.dm +++ b/code/modules/events/wizard/madness.dm @@ -13,7 +13,7 @@ var/suggested = pick(strings(REDPILL_FILE, "redpill_questions")) - forced_secret = (input(usr, "What horrifying truth will you reveal?", "Curse of Madness", sortList(suggested)) as text|null) || suggested + forced_secret = (input(usr, "What horrifying truth will you reveal?", "Curse of Madness", sort_list(suggested)) as text|null) || suggested /datum/round_event/wizard/madness/start() var/datum/round_event_control/wizard/madness/C = control diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index f4185ccf77..9a62b2a822 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -22,14 +22,14 @@ /obj/item/reagent_containers/food/drinks/attack(mob/living/M, mob/user, def_zone) if(!reagents || !reagents.total_volume) to_chat(user, "[src] is empty!") - return 0 + return FALSE if(!canconsume(M, user)) - return 0 + return FALSE if (!is_drainable()) to_chat(user, "[src]'s lid hasn't been opened!") - return 0 + return FALSE if(M == user) user.visible_message("[user] swallows a gulp of [src].", "You swallow a gulp of [src].") @@ -47,7 +47,7 @@ reagents.reaction(M, INGEST, fraction) reagents.trans_to(M, gulp_size, log = TRUE) playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) - return 1 + return TRUE /obj/item/reagent_containers/food/drinks/CheckAttackCooldown(mob/user, atom/target) var/fast = HAS_TRAIT(user, TRAIT_VORACIOUS) && (user == target) diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm index dca12aa4f8..0b55d856f6 100644 --- a/code/modules/food_and_drinks/food/condiment.dm +++ b/code/modules/food_and_drinks/food/condiment.dm @@ -37,10 +37,10 @@ if(!reagents || !reagents.total_volume) to_chat(user, "None of [src] left, oh no!") - return 0 + return FALSE if(!canconsume(M, user)) - return 0 + return FALSE if(M == user) user.visible_message("[user] swallows some of contents of \the [src].", "You swallow some of contents of \the [src].") @@ -57,7 +57,7 @@ reagents.reaction(M, INGEST, fraction) reagents.trans_to(M, 10, log = TRUE) playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) - return 1 + return TRUE /obj/item/reagent_containers/food/condiment/afterattack(obj/target, mob/user , proximity) . = ..() diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index cb1ed628c4..8f8f48412f 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -108,10 +108,10 @@ All foods are distributed among various categories. Use common sense. if(!reagents.total_volume) //Shouldn't be needed but it checks to see if it has anything left in it. to_chat(user, "None of [src] left, oh no!") qdel(src) - return 0 + return FALSE if(iscarbon(M)) if(!canconsume(M, user)) - return 0 + return FALSE var/fullness = M.nutrition + 10 for(var/datum/reagent/consumable/C in M.reagents.reagent_list) //we add the nutrition value of what we're currently digesting @@ -120,7 +120,7 @@ All foods are distributed among various categories. Use common sense. if(M == user) //If you're eating it yourself. if(junkiness && M.satiety < -150 && M.nutrition > NUTRITION_LEVEL_STARVING + 50 ) to_chat(M, "You don't feel like eating any more junk food at the moment.") - return 0 + return FALSE else if(fullness <= 50) user.visible_message("[user] hungrily takes a [eatverb] from \the [src], gobbling it down!", "You hungrily take a [eatverb] from \the [src], gobbling it down!") else if(fullness > 50 && fullness < 150) @@ -131,7 +131,7 @@ All foods are distributed among various categories. Use common sense. user.visible_message("[user] unwillingly takes a [eatverb] of a bit of \the [src].", "You unwillingly take a [eatverb] of a bit of \the [src].") else if(fullness > (600 * (1 + M.overeatduration / 2000))) // The more you eat - the more you can eat user.visible_message("[user] cannot force any more of \the [src] to go down [user.p_their()] throat!", "You cannot force any more of \the [src] to go down your throat!") - return 0 + return FALSE else if(!isbrain(M)) //If you're feeding it to someone else. if(fullness <= (600 * (1 + M.overeatduration / 1000))) @@ -140,7 +140,7 @@ All foods are distributed among various categories. Use common sense. else M.visible_message("[user] cannot force any more of [src] down [M]'s throat!", \ "[user] cannot force any more of [src] down [M]'s throat!") - return 0 + return FALSE if(!do_mob(user, M)) return @@ -164,9 +164,9 @@ All foods are distributed among various categories. Use common sense. bitecount++ On_Consume(M) checkLiked(fraction, M) - return 1 + return TRUE - return 0 + return FALSE /obj/item/reagent_containers/food/snacks/CheckAttackCooldown(mob/user, atom/target) var/fast = HAS_TRAIT(user, TRAIT_VORACIOUS) && (user == target) @@ -193,26 +193,26 @@ All foods are distributed among various categories. Use common sense. /obj/item/reagent_containers/food/snacks/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/storage)) ..() // -> item/attackby() - return 0 + return FALSE if(istype(W, /obj/item/reagent_containers/food/snacks)) var/obj/item/reagent_containers/food/snacks/S = W if(custom_food_type && ispath(custom_food_type)) if(S.w_class > WEIGHT_CLASS_SMALL) to_chat(user, "[S] is too big for [src]!") - return 0 + return FALSE if(!S.customfoodfilling || istype(W, /obj/item/reagent_containers/food/snacks/customizable) || istype(W, /obj/item/reagent_containers/food/snacks/pizzaslice/custom) || istype(W, /obj/item/reagent_containers/food/snacks/cakeslice/custom)) to_chat(user, "[src] can't be filled with [S]!") - return 0 + return FALSE if(contents.len >= 20) to_chat(user, "You can't add more ingredients to [src]!") - return 0 + return FALSE var/obj/item/reagent_containers/food/snacks/customizable/C = new custom_food_type(get_turf(src)) C.initialize_custom_food(src, S, user) - return 0 + return FALSE var/sharp = W.get_sharpness() if(sharp) if(slice(sharp, W, user)) - return 1 + return TRUE else ..() @@ -377,20 +377,20 @@ All foods are distributed among various categories. Use common sense. ..() if(W.w_class <= WEIGHT_CLASS_SMALL & !istype(W, /obj/item/reagent_containers/food/snacks)) //can't slip snacks inside, they're used for custom foods. if(W.get_sharpness()) - return 0 + return FALSE if(stored_item) - return 0 + return FALSE if(!iscarbon(user)) - return 0 + return FALSE if(contents.len >= 20) to_chat(user, "[src] is full.") - return 0 + return FALSE to_chat(user, "You slip [W] inside [src].") user.transferItemToLoc(W, src) add_fingerprint(user) contents += W stored_item = 1 - return 1 // no afterattack here + return TRUE // no afterattack here /obj/item/reagent_containers/food/snacks/MouseDrop(atom/over) var/turf/T = get_turf(src) 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 9f36fc058f..964b932453 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm @@ -141,7 +141,7 @@ to_chat(user, "There is not enough ice cream left!") else to_chat(user, "[O] already has ice cream in it.") - return 1 + return TRUE if(istype(O, /obj/item/reagent_containers) && !(O.item_flags & ABSTRACT) && O.is_open_container()) . = TRUE //no afterattack var/obj/item/reagent_containers/B = O diff --git a/code/modules/food_and_drinks/kitchen_machinery/processor.dm b/code/modules/food_and_drinks/kitchen_machinery/processor.dm index ef2676fe83..6cd3a5d161 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/processor.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/processor.dm @@ -82,11 +82,11 @@ user.visible_message("[user] put [O] into [src].", \ "You put [O] into [src].") user.transferItemToLoc(O, src, TRUE) - return 1 + return TRUE else if(user.a_intent != INTENT_HARM) to_chat(user, "That probably won't blend!") - return 1 + return TRUE else return ..() diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index 08020f708d..854c88401e 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -188,7 +188,7 @@ listofitems[md5name]["amount"]++ // The good news is, #30519 made smartfridge UIs non-auto-updating else listofitems[md5name] = list("name" = O.name, "type" = O.type, "amount" = 1) - sortList(listofitems) + sort_list(listofitems) .["contents"] = listofitems .["name"] = name diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm index 217a650b30..e967cd4572 100644 --- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm @@ -605,11 +605,17 @@ required_reagents = list(/datum/reagent/consumable/milk = 1, /datum/reagent/consumable/coco = 1) mix_message = "The color changes as the mixture blends smoothly." -/datum/chemical_reaction/eggnog - name = "eggnog" +/datum/chemical_reaction/spiked_eggnog + name = "spiked eggnog" id = /datum/reagent/consumable/ethanol/eggnog results = list(/datum/reagent/consumable/ethanol/eggnog = 15) - required_reagents = list(/datum/reagent/consumable/ethanol/rum = 5, /datum/reagent/consumable/cream = 5, /datum/reagent/consumable/eggyolk = 5) + required_reagents = list(/datum/reagent/consumable/ethanol/rum = 5, /datum/reagent/consumable/eggnog = 10) + +/datum/chemical_reaction/eggnog + name = "eggnog" + id = /datum/reagent/consumable/eggnog + results = list(/datum/reagent/consumable/eggnog = 10) + required_reagents = list(/datum/reagent/consumable/cream = 5, /datum/reagent/consumable/eggyolk = 5) /datum/chemical_reaction/narsour name = "Nar'sour" diff --git a/code/modules/holiday/halloween/bartholomew.dm b/code/modules/holiday/halloween/bartholomew.dm index 75703bce7a..62cd9d173d 100644 --- a/code/modules/holiday/halloween/bartholomew.dm +++ b/code/modules/holiday/halloween/bartholomew.dm @@ -14,7 +14,7 @@ /obj/item/barthpot/attackby(obj/item/I, mob/user, params) if(BallTutorial) - say("Hello and welcome to the annual Citadelstation Spookyball 2021! CENTCOM requisitioned this old hospital as a new colony site two years ago, and we’re back again after a few additions here and there. Next to me you can find all the tools you’ll need to build a nice private house, if you’re here for that kind of thing. The axes will chop trees, and give you wood. Shovels will remove grass and things, which you can use the grass to make beds and backets. The pickaxe will allow you pick out the nearby rocks, if you’re more interested in building a cave dwelling. Finally the umbrella and light sources are because it’s spooky, and it might rain! As for interesting spots; There’s the old abandoned mansion which you can get to by going through the entrance and towards the east. There’s also a mech arena directly south, and a racetrack in the caves to the right of the arena, follow the lanterns. And make sure to explore the caves too! Lots of neat things to find!") + say("Hello and welcome to the annual Citadel Station Spooky Ball [time2text(world.realtime, "YYYY")]! CENTCOM requisitioned this old hospital as a new colony site [text2num(time2text(world.realtime,"YYYY")) - 2019] years ago, and we’re back again after a few additions here and there. Next to me you can find all the tools you’ll need to build a nice private house, if you’re here for that kind of thing. The axes will chop trees, and give you wood. Shovels will remove grass and things, which you can use the grass to make beds and backets. The pickaxe will allow you pick out the nearby rocks, if you’re more interested in building a cave dwelling. Finally the umbrella and light sources are because it’s spooky, and it might rain! As for interesting spots; There’s the old abandoned mansion which you can get to by going through the entrance and towards the east. There’s also a mech arena directly south, and a racetrack in the caves to the right of the arena, follow the lanterns. And make sure to explore the caves too! Lots of neat things to find!") return if(!active) say("Meow!") @@ -24,7 +24,7 @@ if(istype(I, I2)) qdel(I) new /obj/item/reagent_containers/food/snacks/special_candy(loc) - to_chat(user, "You add the [I.name] to the pot and watch as it melts into the mixture, a candy crystalising in it's wake.") + to_chat(user, "You add the [I.name] to the pot and watch as it melts into the mixture, a candy crystallizing in it's wake.") say("Hooray! Thank you!") items_list -= I2 return @@ -32,7 +32,7 @@ /obj/item/barthpot/on_attack_hand(mob/user, act_intent = user.a_intent, unarmed_attack_flags) if(BallTutorial) - say("Hello and welcome to the annual Citadelstation Spookyball 2021! CENTCOM requisitioned this old hospital as a new colony site two years ago, and we’re back again after a few additions here and there. Next to me you can find all the tools you’ll need to build a nice private house, if you’re here for that kind of thing. The axes will chop trees, and give you wood. Shovels will remove grass and things, which you can use the grass to make beds and backets. The pickaxe will allow you pick out the nearby rocks, if you’re more interested in building a cave dwelling. Finally the umbrella and light sources are because it’s spooky, and it might rain! As for interesting spots; There’s the old abandoned mansion which you can get to by going through the entrance and towards the east. There’s also a mech arena directly south, and a racetrack in the caves to the right of the arena, follow the lanterns. And make sure to explore the caves too! Lots of neat things to find!") + say("Hello and welcome to the annual Citadel Station Spooky Ball [time2text(world.realtime, "YYYY")]! CENTCOM requisitioned this old hospital as a new colony site [text2num(time2text(world.realtime,"YYYY")) - 2019] years ago, and we’re back again after a few additions here and there. Next to me you can find all the tools you’ll need to build a nice private house, if you’re here for that kind of thing. The axes will chop trees, and give you wood. Shovels will remove grass and things, which you can use the grass to make beds and backets. The pickaxe will allow you pick out the nearby rocks, if you’re more interested in building a cave dwelling. Finally the umbrella and light sources are because it’s spooky, and it might rain! As for interesting spots; There’s the old abandoned mansion which you can get to by going through the entrance and towards the east. There’s also a mech arena directly south, and a racetrack in the caves to the right of the arena, follow the lanterns. And make sure to explore the caves too! Lots of neat things to find!") return if(!active) say("Meow!") @@ -40,7 +40,7 @@ say("Hello there, I'm Bartholomew, Jacqueline's Familiar.") sleep(20) - say("I'm currently seeking items to put into my pot, if we get the right items, it should crystalise into a magic candy!") + say("I'm currently seeking items to put into my pot, if we get the right items, it should crystalize into a magic candy!") if(!iscarbon(user)) say("Though... I'm not sure you can help me.") diff --git a/code/modules/holiday/holidays.dm b/code/modules/holiday/holidays.dm index 239246cd59..e7f33b9ad5 100644 --- a/code/modules/holiday/holidays.dm +++ b/code/modules/holiday/holidays.dm @@ -26,7 +26,7 @@ var/i = findtext(name," ") return copytext(name, 1, i) -// Return 1 if this holidy should be celebrated today +// return TRUE if this holiday should be celebrated today /datum/holiday/proc/shouldCelebrate(dd, mm, yy, ww, ddd) if(always_celebrate) return TRUE @@ -189,12 +189,40 @@ begin_day = 22 begin_month = APRIL -/datum/holiday/lesbianvisibility +/datum/holiday/lgbt + name = "Pride Week" + begin_month = JUNE + begin_day = 23 + end_day = 29 + //Will take place during pride month for one week. Stonewall was June 28th, so this captures its week. + + var/list/holiday_colors = list( + COLOR_PRIDE_PURPLE, + COLOR_PRIDE_BLUE, + COLOR_PRIDE_GREEN, + COLOR_PRIDE_YELLOW, + COLOR_PRIDE_ORANGE, + COLOR_PRIDE_RED + ) + +/datum/holiday/lgbt/proc/get_floor_tile_color(atom/atom) + var/turf/turf = get_turf(atom) + return holiday_colors[(turf.y % holiday_colors.len) + 1] + +/datum/holiday/lgbt/lesbianvisibility name = "Lesbian Visibility Day" begin_day = 26 begin_month = APRIL -/datum/holiday/lesbianvisibility/greet() + holiday_colors = list( //using the 2018 5-pattern flag + COLOR_LESBIAN_ORANGERED, + COLOR_LESBIAN_SANDYBROWN, + COLOR_WHITE, + COLOR_LESBIAN_PALEVIOLETRED, + COLOR_LESBIAN_DARKMAGENTA + ) + +/datum/holiday/lgbt/lesbianvisibility/greet() return "Today is Lesbian Visibility Day!" /datum/holiday/labor @@ -291,21 +319,29 @@ if(mm == 9) if(yy/4 == round(yy/4)) //Note: Won't work right on September 12th, 2200 (at least it's a Friday!) if(dd == 12) - return 1 + return TRUE else if(dd == 13) - return 1 - return 0 + return TRUE + return FALSE /datum/holiday/programmers/getStationPrefix() return pick("span>","DEBUG: ","null","/list","EVENT PREFIX NOT FOUND") //Portability -/datum/holiday/bivisibility +/datum/holiday/lgbt/bivisibility name = "Bisexual Visibility Day" begin_day = 23 begin_month = SEPTEMBER -/datum/holiday/bivisibility/greet() + holiday_colors = list( + COLOR_BISEXUAL_MEDIUMVIOLETRED, + COLOR_BISEXUAL_MEDIUMVIOLETRED, + COLOR_BISEXUAL_DARKORCHID, + COLOR_BISEXUAL_DARKBLUE, + COLOR_BISEXUAL_DARKBLUE + ) + +/datum/holiday/lgbt/bivisibility/greet() return "Today is Bisexual Visibility Day!" /datum/holiday/questions @@ -341,12 +377,18 @@ begin_month = OCTOBER drone_hat = /obj/item/clothing/head/that -/datum/holiday/intersexawareness +/datum/holiday/lgbt/intersexawareness name = "Intersex Awareness Day" begin_day = 26 begin_month = OCTOBER -/datum/holiday/intersexawareness/greet() + holiday_colors = list( //Intersex's flag isn't a striped pattern so this is the best we got + COLOR_INTERSEX_GOLD, + COLOR_INTERSEX_DARKMAGENTA, + COLOR_INTERSEX_GOLD + ) + +/datum/holiday/lgbt/intersexawareness/greet() return "Today is Intersex Awareness Day! It has been [text2num(time2text(world.timeofday, "YYYY")) - 1996] years since the first public protest speaking out against the human rights issues faced by intersex people." /datum/holiday/halloween @@ -388,21 +430,35 @@ begin_month = NOVEMBER drone_hat = /obj/item/reagent_containers/food/snacks/grown/moonflower -/datum/holiday/transawareness +/datum/holiday/lgbt/transawareness name = "Transgender Awareness Week" begin_day = 13 begin_month = NOVEMBER end_day = 19 -/datum/holiday/transawareness/greet() + holiday_colors = list( + COLOR_TRANS_BLUE, + COLOR_TRANS_PINK, + COLOR_WHITE, + COLOR_TRANS_PINK //loops back to blue + ) + +/datum/holiday/lgbt/transawareness/greet() return "This week is Transgender Awareness Week!" -/datum/holiday/transremembrance +/datum/holiday/lgbt/transremembrance name = "Transgender Day of Remembrance" begin_day = 20 begin_month = NOVEMBER -/datum/holiday/transremembrance/greet() + holiday_colors = list( + COLOR_TRANS_BLUE, + COLOR_TRANS_PINK, + COLOR_WHITE, + COLOR_TRANS_PINK //loops back to blue + ) + +/datum/holiday/lgbt/transremembrance/greet() return "Today is the Transgender Day of Remembrance." /datum/holiday/hello @@ -443,14 +499,21 @@ begin_month = OCTOBER begin_weekday = MONDAY -/datum/holiday/aceawareness +/datum/holiday/lgbt/aceawareness name = "Asexual Awareness Week" begin_month = OCTOBER -/datum/holiday/aceawareness/greet() + holiday_colors = list( + COLOR_BLACK, + COLOR_ACE_DARKGRAY, + COLOR_ACE_PURPLE, + COLOR_WHITE + ) + +/datum/holiday/lgbt/aceawareness/greet() return "This week is Asexual Awareness Week!" -/datum/holiday/aceawareness/shouldCelebrate(dd, mm, yy, ww, ddd) //Ace awareness week falls on the last full week of October. +/datum/holiday/lgbt/aceawareness/shouldCelebrate(dd, mm, yy, ww, ddd) //Ace awareness week falls on the last full week of October. if(mm != begin_month) return FALSE //it's not even the right month var/daypointer = world.timeofday - ((WEEKDAY2NUM(ddd) - 1) * 24 HOURS) @@ -478,7 +541,7 @@ begin_month = JUNE begin_weekday = SUNDAY -/datum/holiday/pride +/datum/holiday/pride //Won't be typing this as /lgbt/ because the typing is meant for LGBT holidays that will change the station's decals. Having a full month of pride decals seems a bit long. name = PRIDE_MONTH begin_day = 1 begin_month = JUNE @@ -487,7 +550,7 @@ /datum/holiday/pride/getStationPrefix() return pick("Pride", "Gay", "Bi", "Trans", "Lesbian", "Ace", "Aro", "Agender", pick("Enby", "Enbie"), "Pan", "Intersex", "Demi", "Poly", "Closeted", "Genderfluid") -/datum/holiday/stonewall +/datum/holiday/stonewall //decal patterns covered in "Pride Week" name = "Stonewall Riots Anniversary" begin_day = 28 begin_month = JUNE @@ -495,6 +558,23 @@ /datum/holiday/stonewall/greet() //Not gonna lie, I was fairly tempted to make this use the IC year instead of the IRL year, but I was worried that it would have caused too much confusion. return "Today marks the [text2num(time2text(world.timeofday, "YYYY")) - 1969]\th anniversary of the riots at the Stonewall Inn!" +/datum/holiday/lgbt/pan + name = "Pansexual and Panromantic Awareness Day" + begin_day = 24 + begin_month = MAY + + holiday_colors = list( + COLOR_PAN_DEEPPINK, + COLOR_PAN_GOLD, + COLOR_PAN_DODGERBLUE + ) + +/datum/holiday/lgbt/pan/greet() + return "Today is Pansexual and Panromantic Awareness Day!" + +/datum/holiday/lgbt/pan/getStationPrefix() + return pick("Pansexual","Panromantic") + /datum/holiday/moth name = "Moth Week" begin_month = JULY diff --git a/code/modules/holodeck/area_copy.dm b/code/modules/holodeck/area_copy.dm index d69b9da768..167974a193 100644 --- a/code/modules/holodeck/area_copy.dm +++ b/code/modules/holodeck/area_copy.dm @@ -56,7 +56,7 @@ GLOBAL_LIST_INIT(duplicate_forbidden_vars_by_type, typecacheof_assoc_list(list( // into the new area will not be moved. if(!A || !src) - return 0 + return FALSE var/list/turfs_src = get_area_turfs(src.type) var/list/turfs_trg = get_area_turfs(A.type) diff --git a/code/modules/hydroponics/beekeeping/beebox.dm b/code/modules/hydroponics/beekeeping/beebox.dm index 28e537acbc..564c7e44a4 100644 --- a/code/modules/hydroponics/beekeeping/beebox.dm +++ b/code/modules/hydroponics/beekeeping/beebox.dm @@ -8,22 +8,22 @@ /mob/proc/bee_friendly() - return 0 + return FALSE /mob/living/simple_animal/hostile/poison/bees/bee_friendly() - return 1 + return TRUE /mob/living/carbon/human/bee_friendly() if(dna && dna.species && dna.species.id == "pod") //bees pollinate plants, duh. - return 1 + return TRUE if (wear_suit && head && istype(wear_suit, /obj/item/clothing) && istype(head, /obj/item/clothing)) var/obj/item/clothing/CS = wear_suit var/obj/item/clothing/CH = head if (CS.clothing_flags & CH.clothing_flags & THICKMATERIAL) - return 1 - return 0 + return TRUE + return FALSE /obj/structure/beebox diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 65d942ca2b..a338dd8db7 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -53,8 +53,8 @@ if(reagents) if(bitesize_mod) bitesize = 1 + round(reagents.total_volume / bitesize_mod) - return 1 - return 0 + return TRUE + return FALSE /obj/item/reagent_containers/food/snacks/grown/examine(user) . = ..() diff --git a/code/modules/hydroponics/grown/cereals.dm b/code/modules/hydroponics/grown/cereals.dm index 9bfdb2979c..06c1aaf2eb 100644 --- a/code/modules/hydroponics/grown/cereals.dm +++ b/code/modules/hydroponics/grown/cereals.dm @@ -105,4 +105,4 @@ var/obj/item/reagent_containers/food/snacks/meat/slab/meatwheat/M = new qdel(src) user.put_in_hands(M) - return 1 + return TRUE diff --git a/code/modules/hydroponics/grown/misc.dm b/code/modules/hydroponics/grown/misc.dm index 15908a22a1..fa53159095 100644 --- a/code/modules/hydroponics/grown/misc.dm +++ b/code/modules/hydroponics/grown/misc.dm @@ -425,9 +425,10 @@ for(var/datum/reagent/A in reagents.reagent_list) R += A.type + " (" R += num2text(A.volume) + ")," - if(isturf(target) && reagents.reagent_list.len && thrownby) - log_combat(thrownby, target, "splashed (thrown) [english_list(reagents.reagent_list)]") - message_admins("[ADMIN_LOOKUPFLW(thrownby)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] at [ADMIN_VERBOSEJMP(target)].") + var/mob/thrown_by = thrownby?.resolve() + if(isturf(target) && reagents.reagent_list.len && thrown_by) + log_combat(thrown_by, target, "splashed (thrown) [english_list(reagents.reagent_list)]") + message_admins("[ADMIN_LOOKUPFLW(thrown_by)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] at [ADMIN_VERBOSEJMP(target)].") reagents.reaction(M, TOUCH) log_combat(user, M, "splashed", R) reagents.clear_reagents() diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm index 3c59deafdc..60e18a2894 100644 --- a/code/modules/hydroponics/growninedible.dm +++ b/code/modules/hydroponics/growninedible.dm @@ -45,8 +45,8 @@ /obj/item/grown/proc/add_juice() if(reagents) - return 1 - return 0 + return TRUE + return FALSE /obj/item/grown/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) if(!..()) //was it caught by a mob? diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index a91e3ddfd8..fe688426dc 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -475,7 +475,7 @@ if(!reagent_source.reagents.total_volume) to_chat(user, "[reagent_source] is empty.") - return 1 + return TRUE if(reagents.total_volume >= reagents.maximum_volume && !reagent_source.reagents.has_reagent(/datum/reagent/water, 1)) to_chat(user, "[src] is full.") @@ -520,11 +520,11 @@ qdel(reagent_source) lastuser = user H.update_icon() - return 1 + return TRUE H.update_icon() if(reagent_source) // If the source wasn't composted and destroyed reagent_source.update_icon() - return 1 + return TRUE else if(istype(O, /obj/item/seeds) && !istype(O, /obj/item/seeds/sample)) if(!myseed) @@ -626,7 +626,7 @@ for(var/muties in myseed.mutatelist) var/obj/item/seeds/another_mut = new muties fresh_mut_list[another_mut.plantname] = muties - var/locked_mutation = (input(user, "Select a mutation to lock.", "Plant Mutation Locks") as null|anything in sortList(fresh_mut_list)) + var/locked_mutation = (input(user, "Select a mutation to lock.", "Plant Mutation Locks") as null|anything in sort_list(fresh_mut_list)) if(!user.canUseTopic(src, BE_CLOSE) || !locked_mutation) return myseed.mutatelist = list(fresh_mut_list[locked_mutation]) diff --git a/code/modules/hydroponics/seed_extractor.dm b/code/modules/hydroponics/seed_extractor.dm index e0e15ac111..ecdc466a0c 100644 --- a/code/modules/hydroponics/seed_extractor.dm +++ b/code/modules/hydroponics/seed_extractor.dm @@ -49,9 +49,9 @@ t_prod.forceMove(seedloc) t_amount++ qdel(O) - return 1 + return TRUE - return 0 + return FALSE /obj/machinery/seed_extractor diff --git a/code/modules/integrated_electronics/core/assemblies.dm b/code/modules/integrated_electronics/core/assemblies.dm index 4b6f76574f..174194a425 100644 --- a/code/modules/integrated_electronics/core/assemblies.dm +++ b/code/modules/integrated_electronics/core/assemblies.dm @@ -202,7 +202,7 @@ /obj/item/electronic_assembly/Topic(href, href_list) if(..()) - return 1 + return TRUE if(href_list["ghostscan"]) if((isobserver(usr) && ckeys_allowed_to_scan[usr.ckey]) || IsAdminGhost(usr)) diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm index 547036f08a..ad8ef4ab21 100644 --- a/code/modules/integrated_electronics/subtypes/input.dm +++ b/code/modules/integrated_electronics/subtypes/input.dm @@ -697,11 +697,11 @@ if(isnum(new_code)) code = new_code if(!signal) - return 0 + return FALSE if(signal.data["code"] != code) - return 0 + return FALSE if(signal.source == src) // Don't trigger ourselves. - return 0 + return FALSE activate_pin(3) audible_message("[icon2html(src, hearers(src))] *beep* *beep* *beep*", null, hearing_range) diff --git a/code/modules/integrated_electronics/subtypes/weaponized.dm b/code/modules/integrated_electronics/subtypes/weaponized.dm index 0458700f44..a576ae123e 100644 --- a/code/modules/integrated_electronics/subtypes/weaponized.dm +++ b/code/modules/integrated_electronics/subtypes/weaponized.dm @@ -339,7 +339,7 @@ /obj/item/integrated_circuit/weaponized/proc/attempt_stun(var/mob/living/L,var/stunforce = 70) //Copied from stunbaton code. if(!L || !isliving(L)) - return 0 + return FALSE L.DefaultCombatKnockdown(stunforce) SEND_SIGNAL(L, COMSIG_LIVING_MINOR_SHOCK) @@ -352,4 +352,4 @@ var/mob/living/carbon/human/H = L H.forcesay(GLOB.hit_appends) - return 1 + return TRUE diff --git a/code/modules/jobs/job_exp.dm b/code/modules/jobs/job_exp.dm index e3dfe3b78b..24cb4bf070 100644 --- a/code/modules/jobs/job_exp.dm +++ b/code/modules/jobs/job_exp.dm @@ -4,24 +4,24 @@ GLOBAL_PROTECT(exp_to_update) // Procs /datum/job/proc/required_playtime_remaining(client/C) if(!C) - return 0 + return FALSE if(!CONFIG_GET(flag/use_exp_tracking)) - return 0 + return FALSE if(!SSdbcore.Connect()) - return 0 + return FALSE if(!exp_requirements || !exp_type) - return 0 + return FALSE if(!job_is_xp_locked(src.title)) - return 0 + return FALSE if(CONFIG_GET(flag/use_exp_restrictions_admin_bypass) && check_rights_for(C,R_ADMIN)) - return 0 + return FALSE var/isexempt = C.prefs.db_flags & DB_FLAG_EXEMPT if(isexempt) - return 0 + return FALSE var/my_exp = C.calc_exp_type(get_exp_req_type()) var/job_requirement = get_exp_req_amount() if(my_exp >= job_requirement) - return 0 + return FALSE else return (job_requirement - my_exp) diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index edabd65fe7..3558717348 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -210,15 +210,15 @@ /datum/job/proc/available_in_days(client/C) if(!C) - return 0 + return FALSE if(!CONFIG_GET(flag/use_age_restriction_for_jobs)) - return 0 + return FALSE if(!SSdbcore.Connect()) - return 0 //Without a database connection we can't get a player's age so we'll assume they're old enough for all jobs + return FALSE //Without a database connection we can't get a player's age so we'll assume they're old enough for all jobs if(C.prefs.db_flags & DB_FLAG_EXEMPT) - return 0 + return FALSE if(!isnum(minimal_player_age)) - return 0 + return FALSE return max(0, minimal_player_age - C.player_age) diff --git a/code/modules/jobs/job_types/ai.dm b/code/modules/jobs/job_types/ai.dm index b77b60f5b5..526f541443 100644 --- a/code/modules/jobs/job_types/ai.dm +++ b/code/modules/jobs/job_types/ai.dm @@ -30,8 +30,8 @@ /datum/job/ai/after_spawn(mob/H, client/C, latejoin) . = ..() if(latejoin) - var/obj/structure/AIcore/latejoin_inactive/lateJoinCore - for(var/obj/structure/AIcore/latejoin_inactive/P in GLOB.latejoin_ai_cores) + var/obj/structure/ai_core/latejoin_inactive/lateJoinCore + for(var/obj/structure/ai_core/latejoin_inactive/P in GLOB.latejoin_ai_cores) if(P.is_available()) lateJoinCore = P GLOB.latejoin_ai_cores -= P @@ -60,7 +60,7 @@ if(!do_special_check) return TRUE for(var/i in GLOB.latejoin_ai_cores) - var/obj/structure/AIcore/latejoin_inactive/LAI = i + var/obj/structure/ai_core/latejoin_inactive/LAI = i if(istype(LAI)) if(LAI.is_available()) return TRUE diff --git a/code/modules/keybindings/keybind/admin.dm b/code/modules/keybindings/keybind/admin.dm index b63221e97a..74b8431f30 100644 --- a/code/modules/keybindings/keybind/admin.dm +++ b/code/modules/keybindings/keybind/admin.dm @@ -94,3 +94,16 @@ /datum/keybinding/admin/readmin/down(client/user) user.readmin() return TRUE + +/datum/keybinding/admin/view_tags + hotkey_keys = list("F9") + name = "view_tags" + full_name = "View Tags" + description = "Open the View-Tags menu" + +/datum/keybinding/admin/view_tags/down(client/user) + . = ..() + if(.) + return + user.holder?.display_tags() + return TRUE diff --git a/code/modules/keybindings/keybind/mob.dm b/code/modules/keybindings/keybind/mob.dm index 15911d831e..1599073154 100644 --- a/code/modules/keybindings/keybind/mob.dm +++ b/code/modules/keybindings/keybind/mob.dm @@ -85,6 +85,6 @@ description = "Immediately examine anything you're hovering your mouse over." /datum/keybinding/mob/examine_immediate/down(client/user) - var/atom/A = user.mouseObject + var/atom/A = user.mouse_object_ref?.resolve() if(A) A.attempt_examinate(user.mob) diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index 4f73b037c8..bd488230c4 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -574,7 +574,7 @@ if(istype(O, /obj/item/paper)) bind_book(user, O) else if(default_unfasten_wrench(user, O)) - return 1 + return TRUE else return ..() diff --git a/code/modules/lighting/lighting_object.dm b/code/modules/lighting/lighting_object.dm index bd6bfdd177..8c1fbfcd56 100644 --- a/code/modules/lighting/lighting_object.dm +++ b/code/modules/lighting/lighting_object.dm @@ -125,7 +125,7 @@ // Variety of overrides so the overlays don't get affected by weird things. /atom/movable/lighting_object/ex_act(severity, target, origin) - return 0 + return FALSE /atom/movable/lighting_object/singularity_act() return diff --git a/code/modules/lighting/lighting_turf.dm b/code/modules/lighting/lighting_turf.dm index fc9cd0336d..f148fc441e 100644 --- a/code/modules/lighting/lighting_turf.dm +++ b/code/modules/lighting/lighting_turf.dm @@ -62,7 +62,7 @@ // Used to get a scaled lumcount. /turf/proc/get_lumcount(var/minlum = 0, var/maxlum = 1) if(!lighting_object) - return 1 + return TRUE var/totallums = (lc_topright? (lc_topright.lum_r + lc_topright.lum_g + lc_topright.lum_b) : 0) \ + (lc_bottomright? (lc_bottomright.lum_r + lc_bottomright.lum_g + lc_bottomright.lum_b) : 0) \ diff --git a/code/modules/mining/equipment/marker_beacons.dm b/code/modules/mining/equipment/marker_beacons.dm index d8e54ae322..3ec466dad4 100644 --- a/code/modules/mining/equipment/marker_beacons.dm +++ b/code/modules/mining/equipment/marker_beacons.dm @@ -31,6 +31,12 @@ GLOBAL_LIST_INIT(marker_beacon_colors, list( /obj/item/stack/marker_beacon/thirty //and they're bought in stacks of 1, 10, or 30 amount = 30 +/obj/item/stack/marker_beacon/cyborg + is_cyborg = TRUE + custom_materials = null + source = /datum/robot_energy_storage/beacon + cost = 1 + /obj/item/stack/marker_beacon/Initialize(mapload) . = ..() update_icon() diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm index 18f816699c..13744aa100 100644 --- a/code/modules/mining/fulton.dm +++ b/code/modules/mining/fulton.dm @@ -179,13 +179,13 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) if(isliving(A)) var/mob/living/L = A if(L.stat != DEAD) - return 1 + return TRUE for(var/thing in A.GetAllContents()) if(isliving(A)) var/mob/living/L = A if(L.stat != DEAD) - return 1 - return 0 + return TRUE + return FALSE /obj/effect/extraction_holder/singularity_pull() return diff --git a/code/modules/mining/laborcamp/laborstacker.dm b/code/modules/mining/laborcamp/laborstacker.dm index 4c18b90ee0..3e4d28d20b 100644 --- a/code/modules/mining/laborcamp/laborstacker.dm +++ b/code/modules/mining/laborcamp/laborstacker.dm @@ -28,7 +28,7 @@ GLOBAL_LIST(labor_sheet_values) if(!initial(sheet.point_value) || (initial(sheet.merge_type) && initial(sheet.merge_type) != sheet_type)) //ignore no-value sheets and x/fifty subtypes continue sheet_list += list(list("ore" = initial(sheet.name), "value" = initial(sheet.point_value))) - GLOB.labor_sheet_values = sortList(sheet_list, GLOBAL_PROC_REF(cmp_sheet_list)) + GLOB.labor_sheet_values = sort_list(sheet_list, GLOBAL_PROC_REF(cmp_sheet_list)) /proc/cmp_sheet_list(list/a, list/b) return a["value"] - b["value"] diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index f1dc577180..3234e5b1e1 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -27,7 +27,7 @@ /obj/structure/flora/ash/proc/harvest(user) if(harvested) - return 0 + return FALSE var/rand_harvested = rand(harvest_amount_low, harvest_amount_high) if(rand_harvested) @@ -46,7 +46,7 @@ desc = harvested_desc harvested = TRUE addtimer(CALLBACK(src, PROC_REF(regrow)), rand(regrowth_time_low, regrowth_time_high)) - return 1 + return TRUE /obj/structure/flora/ash/proc/regrow() icon_state = base_icon diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm index 69b5de963d..75b647809a 100644 --- a/code/modules/mining/minebot.dm +++ b/code/modules/mining/minebot.dm @@ -82,8 +82,7 @@ Field repairs can be done with a welder." if(stored_gun && stored_gun.max_mod_capacity) . += "[stored_gun.get_remaining_mod_capacity()]% mod capacity remaining." - for(var/A in stored_gun.get_modkits()) - var/obj/item/borg/upgrade/modkit/M = A + for(var/obj/item/borg/upgrade/modkit/M in stored_gun.modkits) . += "There is \a [M] installed, using [M.cost]% capacity." /mob/living/simple_animal/hostile/mining_drone/welder_act(mob/living/user, obj/item/I) @@ -136,8 +135,7 @@ if(istype(O, /obj/item/projectile/kinetic)) var/obj/item/projectile/kinetic/K = O if(K.kinetic_gun) - for(var/A in K.kinetic_gun.get_modkits()) - var/obj/item/borg/upgrade/modkit/M = A + for(var/obj/item/borg/upgrade/modkit/M in K.kinetic_gun.modkits) if(istype(M, /obj/item/borg/upgrade/modkit/minebot_passthrough)) return TRUE if(istype(O, /obj/item/projectile/destabilizer)) diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index b627d4cb69..514dab55f3 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -169,10 +169,10 @@ /mob/dead/new_player/Topic(href, href_list[]) if(src != usr) - return 0 + return FALSE if(!client) - return 0 + return FALSE //don't let people get to this unless they are specifically not verified if(href_list["Month"] && (CONFIG_GET(flag/age_verification) && !check_rights_for(client, R_ADMIN) && !(client.ckey in GLOB.bunker_passthrough))) @@ -727,7 +727,7 @@ src << browse(dat, "window=manifest;size=387x420;can_close=1") /mob/dead/new_player/Move() - return 0 + return FALSE /mob/dead/new_player/proc/close_spawn_windows() diff --git a/code/modules/mob/dead/new_player/poll.dm b/code/modules/mob/dead/new_player/poll.dm index 9b6e22bc23..6e26b0eb2c 100644 --- a/code/modules/mob/dead/new_player/poll.dm +++ b/code/modules/mob/dead/new_player/poll.dm @@ -461,7 +461,7 @@ return pollid = text2num(pollid) if (!pollid || pollid < 0) - return 0 + return FALSE //validate the poll is actually the right type of poll and its still active var/datum/db_query/query_validate_poll = SSdbcore.NewQuery({" SELECT id @@ -473,12 +473,12 @@ )) if(!query_validate_poll.warn_execute()) qdel(query_validate_poll) - return 0 + return FALSE if (!query_validate_poll.NextRow()) qdel(query_validate_poll) - return 0 + return FALSE qdel(query_validate_poll) - return 1 + return TRUE /** * Processes vote form data and saves results to the database for an IRV type poll. @@ -501,7 +501,7 @@ if(!QDELETED(client) && client.holder) admin_rank = client.holder.rank.name if (!vote_valid_check(pollid, client?.holder, POLLTYPE_IRV)) - return 0 + return FALSE var/list/special_columns = list( "datetime" = "NOW()", @@ -544,7 +544,7 @@ return //validate the poll if (!vote_valid_check(pollid, client.holder, POLLTYPE_OPTION)) - return 0 + return FALSE var/voted = poll_check_voted(pollid) if(isnull(voted) || voted) //Failed or already voted. return @@ -567,7 +567,7 @@ qdel(query_option_vote) if(!QDELETED(usr)) usr << browse(null,"window=playerpoll") - return 1 + return TRUE /mob/dead/new_player/proc/log_text_poll_reply(pollid, replytext) if(!SSdbcore.Connect()) @@ -581,7 +581,7 @@ return //validate the poll if (!vote_valid_check(pollid, client.holder, POLLTYPE_TEXT)) - return 0 + return FALSE if(!replytext) to_chat(usr, "The text you entered was blank. Please correct the text and submit again.") return @@ -611,7 +611,7 @@ qdel(query_text_vote) if(!QDELETED(usr)) usr << browse(null,"window=playerpoll") - return 1 + return TRUE /mob/dead/new_player/proc/vote_on_numval_poll(pollid, optionid, rating) if(!SSdbcore.Connect()) @@ -625,7 +625,7 @@ return //validate the poll if (!vote_valid_check(pollid, client.holder, POLLTYPE_RATING)) - return 0 + return FALSE var/datum/db_query/query_numval_hasvoted = SSdbcore.NewQuery({" SELECT id FROM [format_table_name("poll_vote")] @@ -655,7 +655,7 @@ qdel(query_numval_vote) if(!QDELETED(usr)) usr << browse(null,"window=playerpoll") - return 1 + return TRUE /** * Processes vote form data and saves results to the database for a multiple choice type poll. diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 62df2d25b6..97f9388965 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -233,7 +233,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) var/g_val var/color_format = length(input_color) if(color_format != length_char(input_color)) - return 0 + return FALSE if(color_format == 3) r_val = hex2num(copytext(input_color, 1, 2)) * 16 g_val = hex2num(copytext(input_color, 2, 3)) * 16 @@ -243,7 +243,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) g_val = hex2num(copytext(input_color, 3, 5)) b_val = hex2num(copytext(input_color, 5, 7)) else - return 0 //If the color format is not 3 or 6, you're using an unexpected way to represent a color. + return FALSE //If the color format is not 3 or 6, you're using an unexpected way to represent a color. r_val += (255 - r_val) * 0.4 if(r_val > 255) @@ -693,32 +693,32 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/mob/living/target = input("Your new life begins today!", "Possess Mob", null, null) as null|anything in possessible if(!target) - return 0 + return FALSE if(ismegafauna(target)) to_chat(src, "This creature is too powerful for you to possess!") - return 0 + return FALSE if(can_reenter_corpse && mind && mind.current) if(alert(src, "Your soul is still tied to your former life as [mind.current.name], if you go forward there is no going back to that life. Are you sure you wish to continue?", "Move On", "Yes", "No") == "No") - return 0 + return FALSE if(target.key) to_chat(src, "Someone has taken this body while you were choosing!") - return 0 + return FALSE transfer_ckey(target, FALSE) target.AddElement(/datum/element/ghost_role_eligibility, penalize_on_ghost = FALSE, free_ghosting = TRUE) target.faction = list("neutral") - return 1 + return TRUE //this is a mob verb instead of atom for performance reasons //see /mob/verb/examinate() in mob.dm for more info //overridden here and in /mob/living for different point span classes and sanity checks /mob/dead/observer/pointed(atom/A as mob|obj|turf in fov_view()) if(!..()) - return 0 + return FALSE usr.visible_message("[src] points to [A].") - return 1 + return TRUE /mob/dead/observer/verb/view_manifest() set name = "View Crew Manifest" @@ -839,7 +839,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return IsAdminGhost(usr) /mob/dead/observer/is_literate() - return 1 + return TRUE /mob/dead/observer/vv_edit_var(var_name, var_value) . = ..() @@ -947,7 +947,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp // Ghosts have no momentum, being massless ectoplasm /mob/dead/observer/Process_Spacemove(movement_dir) - return 1 + return TRUE /mob/dead/observer/vv_edit_var(var_name, var_value) . = ..() diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index 51659a2904..0f90e27cec 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -292,10 +292,18 @@ //The following functions are the same save for one small difference -//for when you want the item to end up on the ground -//will force move the item to the ground and call the turf's Entered -/mob/proc/dropItemToGround(obj/item/I, force = FALSE) - return doUnEquip(I, force, drop_location(), FALSE) +/** + * Used to drop an item (if it exists) to the ground. + * * Will pass as TRUE is successfully dropped, or if there is no item to drop. + * * Will pass FALSE if the item can not be dropped due to TRAIT_NODROP via doUnEquip() + * If the item can be dropped, it will be forceMove()'d to the ground and the turf's Entered() will be called. +*/ +/mob/proc/dropItemToGround(obj/item/I, force = FALSE, silent = FALSE, invdrop = TRUE) + if (isnull(I)) + return TRUE + + SEND_SIGNAL(src, COMSIG_MOB_DROPPING_ITEM) + . = doUnEquip(I, force, drop_location(), FALSE, invdrop = invdrop, silent = silent) //for when the item will be immediately placed in a loc other than the ground /mob/proc/transferItemToLoc(obj/item/I, newloc = null, force = FALSE, silent = TRUE) @@ -371,7 +379,7 @@ //returns 0 if it cannot, 1 if successful /mob/proc/equip_to_appropriate_slot(obj/item/W, clothing_check = FALSE) if(!istype(W)) - return 0 + return FALSE var/slot_priority = W.slot_equipment_priority if(!slot_priority) @@ -388,9 +396,9 @@ for(var/slot in slot_priority) if(equip_to_slot_if_possible(W, slot, FALSE, TRUE, TRUE, FALSE, clothing_check)) //qdel_on_fail = 0; disable_warning = 1; redraw_mob = 1 - return 1 + return TRUE - return 0 + return FALSE /** * Used to return a list of equipped items on a mob; does not include held items (use get_all_gear) diff --git a/code/modules/mob/living/bloodcrawl.dm b/code/modules/mob/living/bloodcrawl.dm index 5cc8e40464..f7f4bc427d 100644 --- a/code/modules/mob/living/bloodcrawl.dm +++ b/code/modules/mob/living/bloodcrawl.dm @@ -33,7 +33,7 @@ //entry when holding them // literally only an option for carbons though to_chat(C, "You may not hold items while blood crawling!") - return 0 + return FALSE var/obj/item/bloodcrawl/B1 = new(C) var/obj/item/bloodcrawl/B2 = new(C) B1.icon_state = "bloodhand_left" @@ -45,7 +45,7 @@ spawn(0) bloodpool_sink(B) src.mob_transforming = FALSE - return 1 + return TRUE /mob/living/proc/bloodpool_sink(obj/effect/decal/cleanable/B) var/turf/mobloc = get_turf(src.loc) @@ -89,7 +89,7 @@ var/success = bloodcrawl_consume(victim) if(!success) to_chat(src, "You happily devour... nothing? Your meal vanished at some point!") - return 1 + return TRUE /mob/living/proc/bloodcrawl_consume(mob/living/victim) to_chat(src, "You begin to feast on [victim]. You can not move while you are doing this.") @@ -161,7 +161,7 @@ /mob/living/proc/phasein(obj/effect/decal/cleanable/B) if(src.mob_transforming) to_chat(src, "Finish eating first!") - return 0 + return FALSE B.visible_message("[B] starts to bubble...") if(!do_after(src, 20, target = B)) return @@ -178,4 +178,4 @@ qdel(BC) qdel(src.holder) src.holder = null - return 1 + return TRUE diff --git a/code/modules/mob/living/brain/MMI.dm b/code/modules/mob/living/brain/MMI.dm index f5a2368a60..847d3370c1 100644 --- a/code/modules/mob/living/brain/MMI.dm +++ b/code/modules/mob/living/brain/MMI.dm @@ -47,8 +47,20 @@ if(brain) to_chat(user, "There's already a brain in the MMI!") return - if(!newbrain.brainmob) - to_chat(user, "You aren't sure where this brain came from, but you're pretty sure it's a useless brain!") + if(newbrain.brainmob?.suiciding) + to_chat(user, span_warning("[newbrain] is completely useless.")) + return + if(!newbrain.brainmob?.mind || !newbrain.brainmob) + var/install = tgui_alert(user, "[newbrain] is inactive, slot it in anyway?", "Installing Brain", list("Yes", "No")) + if(install != "Yes") + return + if(!user.transferItemToLoc(newbrain, src)) + return + user.visible_message(span_notice("[user] sticks [newbrain] into [src]."), span_notice("[src]'s indicator light turns red as you insert [newbrain]. Its brainwave activity alarm buzzes.")) + brain = newbrain + brain.organ_flags |= ORGAN_FROZEN + name = "[initial(name)]: [copytext(newbrain.name, 1, -8)]" + update_appearance() return if(!user.transferItemToLoc(O, src)) @@ -97,15 +109,15 @@ name = initial(name) /obj/item/mmi/proc/eject_brain(mob/user) - brainmob.container = null //Reset brainmob mmi var. - brainmob.forceMove(brain) //Throw mob into brain. - 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 - brainmob.remove_from_alive_mob_list() //Get outta here - brainmob.add_to_dead_mob_list() - brain.brainmob = brainmob //Set the brain to use the brainmob - brainmob = null //Set mmi brainmob var to null + if(brain.brainmob) + brainmob.container = null //Reset brainmob mmi var. + brainmob.forceMove(brain) //Throw mob into brain. + 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 + brain.brainmob = brainmob //Set the brain to use the brainmob + log_game("[key_name(user)] has ejected the brain of [key_name(brainmob)] from an MMI at [AREACOORD(src)]") + brainmob = null //Set mmi brainmob var to null if(user) user.put_in_hands(brain) //puts brain in the user's hand or otherwise drops it on the user's turf else @@ -210,6 +222,38 @@ /obj/item/mmi/relaymove(mob/user) return //so that the MMI won't get a warning about not being able to move if it tries to move +/obj/item/mmi/proc/brain_check(mob/user) + var/mob/living/brain/B = brainmob + if(!B) + if(user) + to_chat(user, span_warning("\The [src] indicates that there is no mind present!")) + return FALSE + if(brain?.decoy_override) + if(user) + to_chat(user, span_warning("This [name] does not seem to fit!")) + return FALSE + if(!B.key || !B.mind) + if(user) + to_chat(user, span_warning("\The [src] indicates that their mind is completely unresponsive!")) + return FALSE + if(!B.client) + if(user) + to_chat(user, span_warning("\The [src] indicates that their mind is currently inactive.")) + return FALSE + if(B.suiciding) + if(user) + to_chat(user, span_warning("\The [src] indicates that their mind has no will to live!")) + return FALSE + if(B.stat == DEAD) + if(user) + to_chat(user, span_warning("\The [src] indicates that the brain is dead!")) + return FALSE + if(brain?.organ_flags & ORGAN_FAILING) + if(user) + to_chat(user, span_warning("\The [src] indicates that the brain is damaged!")) + return FALSE + return TRUE + /obj/item/mmi/syndie name = "Syndicate Man-Machine Interface" desc = "Syndicate's own brand of MMI. It enforces laws designed to help Syndicate agents achieve their goals upon cyborgs and AIs created with it." diff --git a/code/modules/mob/living/brain/brain.dm b/code/modules/mob/living/brain/brain.dm index ca9edead48..a6a74fe4de 100644 --- a/code/modules/mob/living/brain/brain.dm +++ b/code/modules/mob/living/brain/brain.dm @@ -64,7 +64,7 @@ /mob/living/brain/can_be_revived() . = 1 if(!container || health <= HEALTH_THRESHOLD_DEAD) - return 0 + return FALSE /mob/living/brain/fully_replace_character_name(oldname,newname) ..() diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index 1b7207d7eb..df9876d7a1 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -93,7 +93,7 @@ clear_alert("alien_fire") /mob/living/carbon/alien/reagent_check(datum/reagent/R) //can metabolize all reagents - return 0 + return FALSE /mob/living/carbon/alien/IsAdvancedToolUser() return has_fine_manipulation @@ -136,7 +136,7 @@ Des: Removes all infected images from the alien. return /mob/living/carbon/alien/canBeHandcuffed() - return 1 + return TRUE /mob/living/carbon/alien/get_standard_pixel_y_offset(lying = 0) return initial(pixel_y) diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm index 5081fd8a14..7e38c26c8c 100644 --- a/code/modules/mob/living/carbon/alien/alien_defense.dm +++ b/code/modules/mob/living/carbon/alien/alien_defense.dm @@ -123,7 +123,7 @@ In all, this is a lot like the monkey code. /N adjustEarDamage(15,60) /mob/living/carbon/alien/soundbang_act(intensity = 1, stun_pwr = 20, damage_pwr = 5, deafen_pwr = 15) - return 0 + return FALSE /mob/living/carbon/alien/acid_act(acidpwr, acid_volume) return 0//aliens are immune to acid. diff --git a/code/modules/mob/living/carbon/alien/damage_procs.dm b/code/modules/mob/living/carbon/alien/damage_procs.dm index 1b16537816..8f223e88c4 100644 --- a/code/modules/mob/living/carbon/alien/damage_procs.dm +++ b/code/modules/mob/living/carbon/alien/damage_procs.dm @@ -1,6 +1,6 @@ /mob/living/carbon/alien/getToxLoss(toxins_type = TOX_OMNI) - return 0 + return FALSE /mob/living/carbon/alien/adjustToxLoss(amount, updating_health = TRUE, forced = FALSE, toxins_type = TOX_DEFAULT) //alien immune to tox damage return FALSE diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm index a5ea6e1c89..ee8c27d1da 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm @@ -32,7 +32,7 @@ Doesn't work on other aliens/AI.*/ return /obj/effect/proc_holder/alien/fire(mob/living/carbon/user) - return 1 + return TRUE /obj/effect/proc_holder/alien/get_panel_text() . = ..() @@ -72,10 +72,10 @@ Doesn't work on other aliens/AI.*/ /obj/effect/proc_holder/alien/plant/fire(mob/living/carbon/user) if(locate(/obj/structure/alien/weeds/node) in get_turf(user)) to_chat(user, "There's already a weed node here.") - return 0 + return FALSE user.visible_message("[user] has planted some alien weeds!") new/obj/structure/alien/weeds/node(user.loc) - return 1 + return TRUE /obj/effect/proc_holder/alien/whisper name = "Whisper" @@ -89,7 +89,7 @@ Doesn't work on other aliens/AI.*/ options += Ms var/mob/living/M = input("Select who to whisper to:","Whisper to?",null) as null|mob in options if(!M) - return 0 + return FALSE if(M.anti_magic_check(FALSE, FALSE, TRUE, 0)) to_chat(user, "As you try to communicate with [M], you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled.") return FALSE @@ -108,8 +108,8 @@ Doesn't work on other aliens/AI.*/ var/follow_link_whispee = FOLLOW_LINK(ded, M) to_chat(ded, "[follow_link_user] [user] Alien Whisper --> [follow_link_whispee] [M] [msg]") else - return 0 - return 1 + return FALSE + return TRUE /obj/effect/proc_holder/alien/transfer name = "Transfer Plasma" @@ -124,7 +124,7 @@ Doesn't work on other aliens/AI.*/ aliens_around.Add(A) var/mob/living/carbon/M = input("Select who to transfer to:","Transfer plasma to?",null) as mob in aliens_around if(!M) - return 0 + return FALSE var/amount = input("Amount:", "Transfer Plasma to [M]") as num if (amount) amount = min(abs(round(amount)), user.getPlasma()) @@ -153,21 +153,21 @@ Doesn't work on other aliens/AI.*/ if(target in oview(1,user)) if(target.acid_act(200, 100)) user.visible_message("[user] vomits globs of vile stuff all over [target]. It begins to sizzle and melt under the bubbling mess of acid!") - return 1 + return TRUE else to_chat(user, "You cannot dissolve this object.") - return 0 + return FALSE else to_chat(src, "[target] is too far away.") - return 0 + return FALSE /obj/effect/proc_holder/alien/acid/fire(mob/living/carbon/alien/user) var/O = input("Select what to dissolve:","Dissolve",null) as obj|turf in oview(1,user) if(!O || user.incapacitated()) - return 0 + return FALSE else return corrode(O,user) @@ -200,7 +200,7 @@ Doesn't work on other aliens/AI.*/ /obj/effect/proc_holder/alien/neurotoxin/update_icon() action.button_icon_state = "alien_neurotoxin_[active]" - action.UpdateButtonIcon() + action.UpdateButtons() /obj/effect/proc_holder/alien/neurotoxin/InterceptClickOn(mob/living/caller, params, atom/target) if(..()) @@ -320,21 +320,21 @@ Doesn't work on other aliens/AI.*/ /mob/living/carbon/proc/getPlasma() var/obj/item/organ/alien/plasmavessel/vessel = getorgan(/obj/item/organ/alien/plasmavessel) if(!vessel) - return 0 + return FALSE return vessel.storedPlasma /mob/living/carbon/proc/adjustPlasma(amount) var/obj/item/organ/alien/plasmavessel/vessel = getorgan(/obj/item/organ/alien/plasmavessel) if(!vessel) - return 0 + return FALSE vessel.storedPlasma = max(vessel.storedPlasma + amount,0) vessel.storedPlasma = min(vessel.storedPlasma, vessel.max_plasma) //upper limit of max_plasma, lower limit of 0 for(var/X in abilities) var/obj/effect/proc_holder/alien/APH = X if(APH.has_action) - APH.action.UpdateButtonIcon() - return 1 + APH.action.UpdateButtons() + return TRUE /mob/living/carbon/alien/adjustPlasma(amount) . = ..() @@ -343,6 +343,6 @@ Doesn't work on other aliens/AI.*/ /mob/living/carbon/proc/usePlasma(amount) if(getPlasma() >= amount) adjustPlasma(-amount) - return 1 + return TRUE - return 0 + return FALSE diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm index 3e8a5d8bdb..ff8fae2b62 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm @@ -27,18 +27,18 @@ var/obj/item/organ/alien/hivenode/node = user.getorgan(/obj/item/organ/alien/hivenode) if(!node) //Players are Murphy's Law. We may not expect there to ever be a living xeno with no hivenode, but they _WILL_ make it happen. to_chat(user, "Without the hivemind, you can't possibly hold the responsibility of leadership!") - return 0 + return FALSE if(node.recent_queen_death) to_chat(user, "Your thoughts are still too scattered to take up the position of leadership.") - return 0 + return FALSE if(!isturf(user.loc)) to_chat(user, "You can't evolve here!") - return 0 + return FALSE if(!get_alien_type(/mob/living/carbon/alien/humanoid/royal)) var/mob/living/carbon/alien/humanoid/royal/praetorian/new_xeno = new (user.loc) user.alien_evolve(new_xeno) - return 1 + return TRUE else to_chat(user, "We already have a living royal!") - return 0 + return FALSE diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm index 3e0faf44f0..183c17fa3e 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm @@ -29,14 +29,14 @@ var/obj/item/organ/alien/hivenode/node = user.getorgan(/obj/item/organ/alien/hivenode) if(!node) //Just in case this particular Praetorian gets violated and kept by the RD as a replacement for Lamarr. to_chat(user, "Without the hivemind, you would be unfit to rule as queen!") - return 0 + return FALSE if(node.recent_queen_death) to_chat(user, "You are still too burdened with guilt to evolve into a queen.") - return 0 + return FALSE if(!get_alien_type(/mob/living/carbon/alien/humanoid/royal/queen)) var/mob/living/carbon/alien/humanoid/royal/queen/new_xeno = new (user.loc) user.alien_evolve(new_xeno) - return 1 + return TRUE else to_chat(user, "We already have an alive queen.") - return 0 + return FALSE diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm index 8177360d4a..c74527a1ab 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm @@ -19,7 +19,7 @@ playsound(loc, "punch", 25, 1, -1) visible_message("[user] has [hitverb] [src]!", \ "[user] has [hitverb] [src]!", null, COMBAT_MESSAGE_RANGE) - return 1 + return TRUE /mob/living/carbon/alien/humanoid/on_attack_hand(mob/living/carbon/human/M) . = ..() diff --git a/code/modules/mob/living/carbon/alien/humanoid/queen.dm b/code/modules/mob/living/carbon/alien/humanoid/queen.dm index 7e1c669e49..a5ef90f283 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/queen.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/queen.dm @@ -20,7 +20,7 @@ var/alt_inhands_file = 'icons/mob/alienqueen.dmi' /mob/living/carbon/alien/humanoid/royal/can_inject(mob/user, error_msg, target_zone, penetrate_thick = FALSE, bypass_immunity = FALSE) - return 0 + return FALSE /mob/living/carbon/alien/humanoid/royal/queen name = "alien queen" @@ -90,20 +90,20 @@ var/obj/item/queenpromote/prom if(get_alien_type(/mob/living/carbon/alien/humanoid/royal/praetorian/)) to_chat(user, "You already have a Praetorian!") - return 0 + return FALSE else for(prom in user) to_chat(user, "You discard [prom].") qdel(prom) - return 0 + return FALSE prom = new (user.loc) if(!user.put_in_active_hand(prom, 1)) to_chat(user, "You must empty your hands before preparing the parasite.") - return 0 + return FALSE else //Just in case telling the player only once is not enough! to_chat(user, "Use the royal parasite on one of your children to promote her to Praetorian!") - return 0 + return FALSE /obj/item/queenpromote name = "\improper royal parasite" diff --git a/code/modules/mob/living/carbon/alien/larva/inventory.dm b/code/modules/mob/living/carbon/alien/larva/inventory.dm index b07bd180f6..5b49c3abb0 100644 --- a/code/modules/mob/living/carbon/alien/larva/inventory.dm +++ b/code/modules/mob/living/carbon/alien/larva/inventory.dm @@ -1,3 +1,3 @@ //can't unequip since it can't equip anything -/mob/living/carbon/alien/larva/doUnEquip(obj/item/W, silent = FALSE) +/mob/living/carbon/alien/larva/doUnEquip(obj/item/W, invdrop, silent = FALSE) return diff --git a/code/modules/mob/living/carbon/alien/larva/larva_defense.dm b/code/modules/mob/living/carbon/alien/larva/larva_defense.dm index 5832996a2c..e40bb96b62 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva_defense.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva_defense.dm @@ -30,7 +30,7 @@ "[user] has pummeled [src]!", null, COMBAT_MESSAGE_RANGE) adjustBruteLoss(5 + rand(1,9)) new /datum/forced_movement(src, get_step_away(user,src, 30), 1) - return 1 + return TRUE /mob/living/carbon/alien/larva/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect) if(!no_effect && !visual_effect_icon) diff --git a/code/modules/mob/living/carbon/alien/larva/powers.dm b/code/modules/mob/living/carbon/alien/larva/powers.dm index 7204759db5..567f52de54 100644 --- a/code/modules/mob/living/carbon/alien/larva/powers.dm +++ b/code/modules/mob/living/carbon/alien/larva/powers.dm @@ -17,7 +17,7 @@ user.layer = MOB_LAYER user.visible_message("[user] slowly peeks up from the ground...", \ "You stop hiding.") - return 1 + return TRUE /obj/effect/proc_holder/alien/larva_evolve @@ -57,7 +57,7 @@ new_xeno = new /mob/living/carbon/alien/humanoid/drone(L.loc) L.alien_evolve(new_xeno) - return 0 + return FALSE else to_chat(user, "You are not fully grown.") - return 0 + return FALSE diff --git a/code/modules/mob/living/carbon/alien/life.dm b/code/modules/mob/living/carbon/alien/life.dm index b56c897b03..f0abf405e9 100644 --- a/code/modules/mob/living/carbon/alien/life.dm +++ b/code/modules/mob/living/carbon/alien/life.dm @@ -9,7 +9,7 @@ if(!breath || (breath.total_moles() == 0)) //Aliens breathe in vaccuum - return 0 + return FALSE var/toxins_used = 0 var/tox_detect_threshold = 0.02 diff --git a/code/modules/mob/living/carbon/alien/screen.dm b/code/modules/mob/living/carbon/alien/screen.dm index 4d90fd4b32..1f8902a584 100644 --- a/code/modules/mob/living/carbon/alien/screen.dm +++ b/code/modules/mob/living/carbon/alien/screen.dm @@ -1,7 +1,7 @@ /mob/living/carbon/alien/proc/updatePlasmaDisplay() if(hud_used) //clientless aliens - hud_used.alien_plasma_display.maptext = "
    [round(getPlasma())]
    " + hud_used.alien_plasma_display.maptext = MAPTEXT("
    [round(getPlasma())]
    ") /mob/living/carbon/alien/larva/updatePlasmaDisplay() return diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index 220b3efde4..8342c4e948 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -97,12 +97,12 @@ /obj/item/clothing/mask/facehugger/on_found(mob/finder) if(stat == CONSCIOUS) return HasProximity(finder) - return 0 + return FALSE /obj/item/clothing/mask/facehugger/HasProximity(atom/movable/AM as mob|obj) if(CanHug(AM) && Adjacent(AM)) return Leap(AM) - return 0 + return FALSE /obj/item/clothing/mask/facehugger/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback) if(!..()) @@ -256,7 +256,7 @@ return FALSE if(ismonkey(M)) - return 1 + return TRUE var/mob/living/carbon/C = M if(ishuman(C) && !(ITEM_SLOT_MASK in C.dna.species.no_equip)) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 419a75eff2..fba96230b1 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -125,8 +125,8 @@ take_bodypart_damage(10 + 5 * extra_speed, check_armor = TRUE, wound_bonus = extra_speed * 5) victim.DefaultCombatKnockdown(20) DefaultCombatKnockdown(20) - visible_message("[src] crashes into [victim] [extra_speed ? "really hard" : ""], knocking them both over!",\ - "You violently crash into [victim] [extra_speed ? "extra hard" : ""]!") + visible_message("[src] crashes into [victim][extra_speed ? " really hard" : ""], knocking them both over!",\ + "You violently crash into [victim][extra_speed ? " extra hard" : ""]!") playsound(src,'sound/weapons/punch1.ogg',50,1) @@ -134,33 +134,35 @@ /mob/living/carbon/proc/toggle_throw_mode() if(stat) return - if(in_throw_mode) + if(throw_mode) throw_mode_off() else throw_mode_on() /mob/living/carbon/proc/throw_mode_off() - in_throw_mode = 0 + throw_mode = FALSE if(client && hud_used) hud_used.throw_icon.icon_state = "act_throw_off" /mob/living/carbon/proc/throw_mode_on() - in_throw_mode = 1 + throw_mode = TRUE if(client && hud_used) hud_used.throw_icon.icon_state = "act_throw_on" /mob/proc/throw_item(atom/target) SEND_SIGNAL(src, COMSIG_MOB_THROW, target) - return + SEND_GLOBAL_SIGNAL(COMSIG_GLOB_CARBON_THROW_THING, src, target) + return TRUE /mob/living/carbon/throw_item(atom/target) + . = ..() throw_mode_off() if(!target || !isturf(loc)) - return + return FALSE if(istype(target, /atom/movable/screen)) - return + return FALSE //CIT CHANGES - makes it impossible to throw while in stamina softcrit if(IS_STAMCRIT(src)) @@ -170,65 +172,62 @@ var/random_turn = a_intent == INTENT_HARM //END OF CIT CHANGES - var/obj/item/I = get_active_held_item() - var/atom/movable/thrown_thing - var/mob/living/throwable_mob + var/obj/item/held_item = get_active_held_item() + var/verb_text = pick("throw", "toss", "hurl", "chuck", "fling") + if(prob(0.5)) + verb_text = "yeet" - if(istype(I, /obj/item/clothing/head/mob_holder)) - var/obj/item/clothing/head/mob_holder/holder = I - if(holder.held_mob) - throwable_mob = holder.held_mob - holder.release() - - if(!I || throwable_mob) - if(!throwable_mob && pulling && isliving(pulling) && grab_state >= GRAB_AGGRESSIVE) - throwable_mob = pulling - - if(throwable_mob && !throwable_mob.buckled) - thrown_thing = throwable_mob - if(pulling) + var/neckgrab_throw = FALSE + if(!held_item) + if(pulling && isliving(pulling) && grab_state >= GRAB_AGGRESSIVE) + var/mob/living/throwable_mob = pulling + if(!throwable_mob.buckled) + thrown_thing = throwable_mob + if(grab_state >= GRAB_NECK) + neckgrab_throw = TRUE stop_pulling() - if(HAS_TRAIT(src, TRAIT_PACIFISM)) - to_chat(src, "You gently let go of [throwable_mob].") - return - if(!UseStaminaBuffer(STAM_COST_THROW_MOB * ((throwable_mob.mob_size+1)**2), TRUE)) - return - var/turf/start_T = get_turf(loc) //Get the start and target tile for the descriptors - var/turf/end_T = get_turf(target) - if(start_T && end_T) - log_combat(src, throwable_mob, "thrown", addition="grab from tile in [AREACOORD(start_T)] towards tile at [AREACOORD(end_T)]") - - else if(!(I.item_flags & ABSTRACT) && !HAS_TRAIT(I, TRAIT_NODROP)) - thrown_thing = I - dropItemToGround(I) - - if(HAS_TRAIT(src, TRAIT_PACIFISM) && I.throwforce) - to_chat(src, "You set [I] down gently on the ground.") - return - - if(!UseStaminaBuffer(I.getweight(src, STAM_COST_THROW_MULT, SKILL_THROW_STAM_COST), warn = TRUE)) - return - - if(thrown_thing) - var/power_throw = 0 - if(HAS_TRAIT(src, TRAIT_HULK)) - power_throw++ - if(pulling && grab_state >= GRAB_NECK) - power_throw++ - visible_message("[src] throws [thrown_thing][power_throw ? " really hard!" : "."]", \ - "You throw [thrown_thing][power_throw ? " really hard!" : "."]") - log_message("has thrown [thrown_thing] [power_throw ? "really hard" : ""]", LOG_ATTACK) - do_attack_animation(target, no_effect = 1) - playsound(loc, 'sound/weapons/punchmiss.ogg', 50, 1, -1) - newtonian_move(get_dir(target, src)) - thrown_thing.safe_throw_at(target, thrown_thing.throw_range, thrown_thing.throw_speed + power_throw, src, null, null, null, move_force, random_turn) + if(HAS_TRAIT(src, TRAIT_PACIFISM)) + to_chat(src, span_notice("You gently let go of [throwable_mob].")) + return FALSE + if(!UseStaminaBuffer(STAM_COST_THROW_MOB * ((throwable_mob.mob_size+1)**2), TRUE)) + return FALSE + else + thrown_thing = held_item.on_thrown(src, target) + if(!thrown_thing) + return FALSE + if(isliving(thrown_thing)) + var/turf/start_T = get_turf(loc) //Get the start and target tile for the descriptors + var/turf/end_T = get_turf(target) + if(start_T && end_T) + log_combat(src, thrown_thing, "thrown", addition="grab from tile in [AREACOORD(start_T)] towards tile at [AREACOORD(end_T)]") + var/power_throw = 0 + if(HAS_TRAIT(src, TRAIT_HULK)) + power_throw++ + if(HAS_TRAIT(src, TRAIT_DWARF)) + power_throw-- + if(HAS_TRAIT(thrown_thing, TRAIT_DWARF)) + power_throw++ + if(neckgrab_throw) + power_throw++ + if(isitem(thrown_thing)) + var/obj/item/thrown_item = thrown_thing + if(thrown_item.throw_verb) + verb_text = thrown_item.throw_verb + visible_message(span_danger("[src] [verb_text][plural_s(verb_text)] [thrown_thing][power_throw ? " really hard!" : "."]"), \ + span_danger("You [verb_text] [thrown_thing][power_throw ? " really hard!" : "."]")) + log_message("has thrown [thrown_thing] [power_throw > 0 ? "really hard" : ""]", LOG_ATTACK) + do_attack_animation(target, no_effect = 1) + var/extra_throw_range = 0 // HAS_TRAIT(src, TRAIT_THROWINGARM) ? 2 : 0 + playsound(loc, 'sound/weapons/punchmiss.ogg', 50, 1, -1) + newtonian_move(get_dir(target, src)) + thrown_thing.safe_throw_at(target, thrown_thing.throw_range + extra_throw_range, max(1,thrown_thing.throw_speed + power_throw), src, null, null, null, move_force, random_turn) /mob/living/carbon/restrained(ignore_grab) . = (handcuffed || (!ignore_grab && pulledby && pulledby.grab_state >= GRAB_AGGRESSIVE)) /mob/living/carbon/proc/canBeHandcuffed() - return 0 + return FALSE /mob/living/carbon/Topic(href, href_list) ..() @@ -451,7 +450,7 @@ /mob/living/carbon/attack_ui(slot) if(!has_hand_for_held_index(active_hand_index)) - return 0 + return FALSE return ..() /mob/living/carbon/proc/vomit(lost_nutrition = 10, blood = FALSE, stun = TRUE, distance = 1, message = TRUE, vomit_type = VOMIT_TOXIC, harm = TRUE, force = FALSE, purge_ratio = 0.1) @@ -892,7 +891,7 @@ /mob/living/carbon/can_be_revived() . = ..() if(!getorgan(/obj/item/organ/brain) && (!mind || !mind.has_antag_datum(/datum/antagonist/changeling))) - return 0 + return FALSE /mob/living/carbon/harvest(mob/living/user) if(QDELETED(src)) diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index a7f205624d..e6aa6abf45 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -48,22 +48,30 @@ if(affecting && affecting.dismemberable && affecting.get_damage() >= (affecting.max_damage - P.dismemberment)) affecting.dismember(P.damtype) -/mob/living/carbon/catch_item(obj/item/I, skip_throw_mode_check = FALSE) - . = ..() - if(!HAS_TRAIT(src, TRAIT_AUTO_CATCH_ITEM) && !skip_throw_mode_check && !in_throw_mode) +/mob/living/carbon/proc/can_catch_item(skip_throw_mode_check) + . = FALSE + if(!HAS_TRAIT(src, TRAIT_AUTO_CATCH_ITEM) && !skip_throw_mode_check && !throw_mode) return - if(incapacitated()) + if(get_active_held_item()) return - if (get_active_held_item()) - if (HAS_TRAIT_FROM(src, TRAIT_AUTO_CATCH_ITEM,RISING_BASS_TRAIT)) - visible_message("[src] chops [I] out of the air!") + if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED)) + return + return TRUE + +/mob/living/carbon/hitby(atom/movable/AM, skipcatch, hitpush = TRUE, blocked = FALSE, datum/thrownthing/throwingdatum) + if(!skipcatch && can_catch_item() && isitem(AM) && isturf(AM.loc)) + var/obj/item/I = AM + I.attack_hand(src) + if(get_active_held_item() == I) //if our attack_hand() picks up the item... + visible_message(span_warning("[src] catches [I]!"), \ + span_userdanger("You catch [I] in mid-air!")) + throw_mode_off() return TRUE - return - I.attack_hand(src) - if(get_active_held_item() == I) //if our attack_hand() picks up the item... - visible_message("[src] catches [I]!") //catch that sucker! - throw_mode_off() + if(isitem(AM) && HAS_TRAIT_FROM(src, TRAIT_AUTO_CATCH_ITEM, RISING_BASS_TRAIT)) + visible_message(span_warning("[src] chops [AM] out of the air!"), \ + span_userdanger("You chop [AM] out of the air!")) return TRUE + return ..() /mob/living/carbon/attacked_by(obj/item/I, mob/living/user, attackchain_flags = NONE, damage_multiplier = 1) var/totitemdamage = pre_attacked_by(I, user) * damage_multiplier diff --git a/code/modules/mob/living/carbon/carbon_movement.dm b/code/modules/mob/living/carbon/carbon_movement.dm index e70b1bcc92..a1ce8d2095 100644 --- a/code/modules/mob/living/carbon/carbon_movement.dm +++ b/code/modules/mob/living/carbon/carbon_movement.dm @@ -7,24 +7,24 @@ /mob/living/carbon/Process_Spacemove(movement_dir = 0) if(..()) - return 1 + return TRUE if(!isturf(loc)) - return 0 + return FALSE // Do we have a jetpack implant (and is it on)? var/obj/item/organ/cyberimp/chest/thrusters/T = getorganslot(ORGAN_SLOT_THRUSTERS) if(istype(T) && movement_dir && T.allow_thrust(0.01)) - return 1 + return TRUE var/obj/item/I = get_jetpack() if(istype(I, /obj/item/tank/jetpack)) var/obj/item/tank/jetpack/J = I if((movement_dir || J.stabilizers) && J.allow_thrust(0.01, src)) - return 1 + return TRUE else if(istype(I, /obj/item/mod/module/jetpack)) var/obj/item/mod/module/jetpack/J = I if((movement_dir || J.stabilizers) && J.allow_thrust()) - return 1 + return TRUE /mob/living/carbon/Moved() . = ..() diff --git a/code/modules/mob/living/carbon/carbon_update_icons.dm b/code/modules/mob/living/carbon/carbon_update_icons.dm index cd9cd5db4c..6b1b6e222e 100644 --- a/code/modules/mob/living/carbon/carbon_update_icons.dm +++ b/code/modules/mob/living/carbon/carbon_update_icons.dm @@ -13,7 +13,7 @@ /mob/living/carbon/regenerate_icons() if(mob_transforming) - return 1 + return TRUE update_inv_hands() update_inv_handcuffed() update_inv_legcuffed() diff --git a/code/modules/mob/living/carbon/damage_procs.dm b/code/modules/mob/living/carbon/damage_procs.dm index 85c188d2ab..df0515196e 100644 --- a/code/modules/mob/living/carbon/damage_procs.dm +++ b/code/modules/mob/living/carbon/damage_procs.dm @@ -4,7 +4,7 @@ SEND_SIGNAL(src, COMSIG_MOB_APPLY_DAMAGE, damage, damagetype, def_zone) var/hit_percent = (100-blocked)/100 if(!forced && hit_percent <= 0) - return 0 + return FALSE var/obj/item/bodypart/BP = null if(!spread_damage) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index a4de8cccc1..2a40de3c97 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -478,17 +478,17 @@ return if(is_mouth_covered()) to_chat(src, "Remove your mask first!") - return 0 + return FALSE if(C.is_mouth_covered()) to_chat(src, "Remove [p_their()] mask first!") - return 0 + return FALSE if(C.cpr_time < world.time + 30) visible_message("[src] is trying to perform CPR on [C.name]!", \ "You try to perform CPR on [C.name]... Hold still!") if(!do_mob(src, C)) to_chat(src, "You fail to perform CPR on [C]!") - return 0 + return FALSE var/they_breathe = !HAS_TRAIT(C, TRAIT_NOBREATH) var/they_lung = C.getorganslot(ORGAN_SLOT_LUNGS) @@ -671,7 +671,7 @@ "You try to throw up, but there's nothing in your stomach!") if(stun) DefaultCombatKnockdown(200) - return 1 + return TRUE ..() /mob/living/carbon/human/vv_get_dropdown() diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 5941efe087..7c0e6f4db8 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -1,6 +1,6 @@ /mob/living/carbon/human/getarmor(def_zone, type) if(HAS_TRAIT(src, TRAIT_ARMOR_BROKEN)) //trait that makes it act as if you have no armor at all, you take natural damage from all sources - return 0 + return FALSE var/armorval = 0 var/organnum = 0 @@ -22,7 +22,7 @@ /mob/living/carbon/human/proc/checkarmor(obj/item/bodypart/def_zone, d_type) if(!d_type || !def_zone) - return 0 + return FALSE var/protection = 0 var/list/body_parts = list(head, wear_mask, wear_suit, w_uniform, back, gloves, shoes, belt, s_store, glasses, ears, wear_id, wear_neck) //Everything but pockets. Pockets are l_store and r_store. (if pockets were allowed, putting something armored, gloves or hats for example, would double up on the armor) for(var/bp in body_parts) @@ -68,12 +68,16 @@ /mob/living/carbon/human/proc/check_martial_melee_block() if(mind) - if(mind.martial_art && prob(mind.martial_art.block_chance) && mind.martial_art.can_use(src) && in_throw_mode && !incapacitated(FALSE, TRUE)) + if(mind.martial_art && prob(mind.martial_art.block_chance) && mind.martial_art.can_use(src) && throw_mode && !incapacitated(FALSE, TRUE)) return TRUE return FALSE /mob/living/carbon/human/hitby(atom/movable/AM, skipcatch = FALSE, hitpush = TRUE, blocked = FALSE, datum/thrownthing/throwingdatum) - return dna?.species?.spec_hitby(AM, src) || ..() + if(dna?.species) + var/spec_return = dna.species.spec_hitby(AM, src) + if(spec_return) + return spec_return + return ..() /mob/living/carbon/human/grabbedby(mob/living/carbon/user, supress_message = 0) if(user == src && pulling && !pulling.anchored && grab_state >= GRAB_AGGRESSIVE && (HAS_TRAIT(src, TRAIT_FAT)) && ismonkey(pulling)) @@ -89,7 +93,7 @@ /mob/living/carbon/human/attacked_by(obj/item/I, mob/living/user, attackchain_flags = NONE, damage_multiplier = 1) if(!I || !user) - return 0 + return FALSE var/obj/item/bodypart/affecting if(user == src) @@ -121,7 +125,7 @@ "[user] [hulk_verb_continous] you!", null, COMBAT_MESSAGE_RANGE, null, user, "You [hulk_verb_simple] [src]!") apply_damage(15, BRUTE, wound_bonus=10) - return 1 + return TRUE /mob/living/carbon/human/on_attack_hand(mob/user, act_intent = user.a_intent, unarmed_attack_flags) . = ..() @@ -164,7 +168,7 @@ if(..()) //successful monkey bite, this handles disease contraction. var/damage = rand(1, 3) apply_damage(damage, BRUTE, affecting, run_armor_check(affecting, MELEE)) - return 1 + return TRUE /mob/living/carbon/human/attack_alien(mob/living/carbon/alien/humanoid/M) . = ..() @@ -179,7 +183,7 @@ visible_message("[M] has lunged at [src]!", \ "[M] has lunged at you!", target = M, \ target_message = "You have lunged at [src]!") - return 0 + return FALSE var/obj/item/bodypart/affecting = get_bodypart(ran_zone(M.zone_selected)) if(!affecting) affecting = get_bodypart(BODY_ZONE_CHEST) @@ -191,7 +195,7 @@ target_message = "You have slashed at [src]!") log_combat(M, src, "attacked") if(!dismembering_strike(M, M.zone_selected)) //Dismemberment successful - return 1 + return TRUE apply_damage(damage, BRUTE, affecting, armor_block) if(M.a_intent == INTENT_DISARM) //Always drop item in hand, if no item, get stun instead. @@ -248,7 +252,7 @@ var/dam_zone = dismembering_strike(M, pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)) if(!dam_zone) //Dismemberment successful - return 1 + return TRUE var/obj/item/bodypart/affecting = get_bodypart(ran_zone(dam_zone)) if(!affecting) @@ -525,7 +529,7 @@ for(var/obj/item/I in inventory_items_to_kill) I.acid_act(acidpwr, acid_volume) - return 1 + return TRUE /mob/living/carbon/human/singularity_act() var/gain = 20 @@ -817,7 +821,7 @@ to_chat(src, "\t There is \a [I] stuck to your [LB.name]!") else to_chat(src, "\t There is \a [I] embedded in your [LB.name]!") - + /mob/living/carbon/human/damage_clothes(damage_amount, damage_type = BRUTE, damage_flag = 0, def_zone) if(damage_type != BRUTE && damage_type != BURN) diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index 2c58da29c9..8029ebdeab 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -103,11 +103,11 @@ /mob/living/carbon/human/can_track(mob/living/user) if(wear_id && istype(wear_id.GetID(), /obj/item/card/id/syndicate)) - return 0 + return FALSE if(istype(head, /obj/item/clothing/head)) var/obj/item/clothing/head/hat = head if(hat.blockTracking) - return 0 + return FALSE return ..() diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 141fbb89d7..4e9c58e1a4 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -11,14 +11,14 @@ /mob/living/carbon/human/slip(knockdown_amount, obj/O, lube) if(HAS_TRAIT(src, TRAIT_NOSLIPALL)) - return 0 + return FALSE if (!(lube & GALOSHES_DONT_HELP)) if(HAS_TRAIT(src, TRAIT_NOSLIPWATER)) - return 0 + return FALSE if(shoes && istype(shoes, /obj/item/clothing)) var/obj/item/clothing/CS = shoes if (CS.clothing_flags & NOSLIP) - return 0 + return FALSE if (lube & SLIDE_ICE) if(shoes && istype(shoes, /obj/item/clothing)) var/obj/item/clothing/CS = shoes @@ -32,7 +32,7 @@ if(shoes && istype(shoes, /obj/item/clothing)) var/obj/item/clothing/S = shoes if (S.clothing_flags & NOSLIP) - return 0 + return FALSE return ..() /mob/living/carbon/human/mob_has_gravity() diff --git a/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm b/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm index 482268f8f5..177444503b 100644 --- a/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm +++ b/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm @@ -37,7 +37,7 @@ to_chat(owner, "There's something stuck to your hand, stopping you from transforming!") return if(IsAvailable()) - UpdateButtonIcon() + UpdateButtons() var/mutcolor = owner.get_ability_property(INNATE_ABILITY_SLIME_BLOBFORM, PROPERTY_BLOBFORM_COLOR) || ("#" + H.dna.features["mcolor"]) if(!is_puddle) if(CHECK_MOBILITY(H, MOBILITY_USE)) //if we can use items, we can turn into a puddle @@ -78,7 +78,7 @@ owner.update_antag_overlays() transforming = FALSE - UpdateButtonIcon() + UpdateButtons() else detransform() else @@ -109,4 +109,4 @@ squeak.RemoveComponent() H.regenerate_icons() transforming = FALSE - UpdateButtonIcon() + UpdateButtons() diff --git a/code/modules/mob/living/carbon/human/innate_abilities/limb_regeneration.dm b/code/modules/mob/living/carbon/human/innate_abilities/limb_regeneration.dm index 6f3809c232..71b15bda2d 100644 --- a/code/modules/mob/living/carbon/human/innate_abilities/limb_regeneration.dm +++ b/code/modules/mob/living/carbon/human/innate_abilities/limb_regeneration.dm @@ -12,7 +12,7 @@ var/mob/living/carbon/human/H = owner var/list/limbs_to_heal = H.get_missing_limbs() if(limbs_to_heal.len < 1) - return 0 + return FALSE var/mode = H.get_ability_property(INNATE_ABILITY_LIMB_REGROWTH, PROPERTY_LIMB_REGROWTH_USAGE_TYPE) switch(mode) if(REGROWTH_USES_BLOOD) @@ -20,7 +20,7 @@ return TRUE else return FALSE - return 0 + return FALSE /datum/action/innate/ability/limb_regrowth/Activate() var/mob/living/carbon/human/H = owner diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 2dce987449..ace5cbaa6f 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -282,9 +282,9 @@ else O = outfit if(!istype(O)) - return 0 + return FALSE if(!O) - return 0 + return FALSE return O.equip(src, visualsOnly, preference_source) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 4221df31f6..bd32a08d9a 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -223,7 +223,7 @@ if(cold) //CITADEL EDIT Mandatory for vore code. if(istype(loc, /obj/item/dogborg/sleeper) || isbelly(loc) || ismob(loc)) - return 1 //freezing to death in sleepers ruins fun. + return TRUE //freezing to death in sleepers ruins fun. //END EDIT temperature = max(temperature, 2.7) //There is an occasional bug where the temperature is miscalculated in ares with a small amount of gas on them, so this is necessary to ensure that that bug does not affect this calculation. Space's temperature is 2.7K and most suits that are intended to protect against any cold, protect down to 2.0K. var/thermal_protection_flags = cold ? get_cold_protection_flags(temperature) : get_heat_protection_flags(temperature) @@ -254,7 +254,7 @@ if(missing_body_parts_flags & HAND_RIGHT) max_protection -= THERMAL_PROTECTION_HAND_RIGHT if(max_protection == 0) //Is it even a man if it doesn't have a body at all? Early return to avoid division by zero. - return 1 + return TRUE var/thermal_protection = 0 if(thermal_protection_flags) diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 22cb10026b..7c4ba5e719 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -84,7 +84,7 @@ ears.talk_into(src, message, message_mode, spans, language) return ITALICS | REDUCE_RANGE - return 0 + return FALSE /mob/living/carbon/human/get_alt_name() if(name != GetVoice()) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index d9424d972b..3ad1101c96 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -321,8 +321,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) //Please override this locally if you want to define when what species qualifies for what rank if human authority is enforced. /datum/species/proc/qualifies_for_rank(rank, list/features) //SPECIES JOB RESTRICTIONS //if(rank in GLOB.command_positions) Left as an example: The format qualifies for rank takes. - // return 0 //It returns false when it runs the proc so they don't get jobs from the global list. - return 1 //It returns 1 to say they are a-okay to continue. + // return FALSE //It returns false when it runs the proc so they don't get jobs from the global list. + return TRUE //It returns 1 to say they are a-okay to continue. /** * Corrects organs in a carbon, removing ones it doesn't need and adding ones it does. @@ -1589,7 +1589,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) H.throw_alert("nutrition", /atom/movable/screen/alert/starving) /datum/species/proc/update_health_hud(mob/living/carbon/human/H) - return 0 + return FALSE /datum/species/proc/handle_mutations_and_radiation(mob/living/carbon/human/H) . = FALSE @@ -1645,7 +1645,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) target.help_shake_act(user) if(target != user) log_combat(user, target, "shaked") - return 1 + return TRUE else var/we_breathe = !HAS_TRAIT(user, TRAIT_NOBREATH) var/we_lung = user.getorganslot(ORGAN_SLOT_LUNGS) @@ -1661,12 +1661,12 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(target.check_martial_melee_block()) target.visible_message("[target] blocks [user]'s grab attempt!", target = user, \ target_message = "[target] blocks your grab attempt!") - return 0 + return FALSE if(attacker_style && attacker_style.grab_act(user,target)) - return 1 + return TRUE else target.grabbedby(user) - return 1 + return TRUE /datum/species/proc/harm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style, attackchain_flags = NONE) if(!attacker_style && HAS_TRAIT(user, TRAIT_PACIFISM)) @@ -1929,11 +1929,11 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(user != H) var/list/block_return = list() if(H.mob_run_block(I, totitemdamage, "the [I.name]", ((attackchain_flags & ATTACK_IS_PARRY_COUNTERATTACK)? ATTACK_TYPE_PARRY_COUNTERATTACK : NONE) | ATTACK_TYPE_MELEE, I.armour_penetration, user, affecting.body_zone, block_return) & BLOCK_SUCCESS) - return 0 + return FALSE totitemdamage = block_calculate_resultant_damage(totitemdamage, block_return) if(H.check_martial_melee_block()) H.visible_message("[H] blocks [I]!") - return 0 + return FALSE var/hit_area @@ -1958,7 +1958,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) I.do_stagger_action(H, user, totitemdamage) if(!totitemdamage) - return 0 //item force is zero + return FALSE //item force is zero var/bloody = 0 if(((I.damtype == BRUTE) && I.force && prob(25 + (I.force * 2)))) @@ -2167,7 +2167,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) var/hit_percent = (100-(blocked+armor))/100 hit_percent = (hit_percent * (100-H.physiology.damage_resistance))/100 if(!forced && hit_percent <= 0) - return 0 + return FALSE var/obj/item/bodypart/BP = null if(!spread_damage) @@ -2224,7 +2224,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(BRAIN) var/damage_amount = forced ? damage : damage * hit_percent * H.physiology.brain_mod H.adjustOrganLoss(ORGAN_SLOT_BRAIN, damage_amount) - return 1 + return TRUE /datum/species/proc/on_hit(obj/item/projectile/P, mob/living/carbon/human/H) // called when hit by a projectile diff --git a/code/modules/mob/living/carbon/human/species_types/arachnid.dm b/code/modules/mob/living/carbon/human/species_types/arachnid.dm index d0ed3490f8..fabd9072c8 100644 --- a/code/modules/mob/living/carbon/human/species_types/arachnid.dm +++ b/code/modules/mob/living/carbon/human/species_types/arachnid.dm @@ -43,7 +43,7 @@ /datum/species/arachnid/check_weakness(obj/item/weapon, mob/living/attacker) if(istype(weapon, /obj/item/melee/flyswatter)) return 9 //flyswatters deal 10x damage to arachnids - return 0 + return FALSE /datum/species/arachnid/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) . = ..() diff --git a/code/modules/mob/living/carbon/human/species_types/flypeople.dm b/code/modules/mob/living/carbon/human/species_types/flypeople.dm index 86720289fe..fdd8434acc 100644 --- a/code/modules/mob/living/carbon/human/species_types/flypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/flypeople.dm @@ -37,4 +37,4 @@ /datum/species/fly/check_weakness(obj/item/weapon, mob/living/attacker) if(istype(weapon, /obj/item/melee/flyswatter)) return 29 //Flyswatters deal 30x damage to flypeople. - return 0 + return FALSE 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 238a870279..23a0286d75 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -419,8 +419,9 @@ var/obj/item/I if(istype(AM, /obj/item)) I = AM - if(I.thrownby == H) //No throwing stuff at yourself to trigger the teleport - return 0 + var/mob/thrown_by = I.thrownby?.resolve() + if(thrown_by == H) //No throwing stuff at yourself to trigger the teleport + return FALSE else reactive_teleport(H) @@ -462,8 +463,8 @@ /datum/action/innate/unstable_teleport/IsAvailable(silent = FALSE) if(..()) if(world.time > last_teleport + cooldown) - return 1 - return 0 + return TRUE + return FALSE /datum/action/innate/unstable_teleport/Activate() var/mob/living/carbon/human/H = owner @@ -479,9 +480,9 @@ spark_system.start() do_teleport(H, get_turf(H), 12, asoundin = 'sound/weapons/emitter2.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) last_teleport = world.time - UpdateButtonIcon() //action icon looks unavailable - sleep(cooldown + 5) - UpdateButtonIcon() //action icon looks available again + UpdateButtons() //action icon looks unavailable + //action icon looks available again + addtimer(CALLBACK(src, .proc/UpdateButtons), cooldown + 5) //honk @@ -545,7 +546,7 @@ if(istype(AM, /obj/item)) I = AM if(I.thrownby == H) //No throwing stuff at yourself to make bananas - return 0 + return FALSE else new/obj/item/grown/bananapeel/specialpeel(get_turf(H)) last_banana = world.time 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 ad95cd645d..98dc00a2f4 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -82,7 +82,7 @@ var/datum/action/innate/ability/regrowth = H.ability_actions[INNATE_ABILITY_LIMB_REGROWTH] if(regrowth) - regrowth.UpdateButtonIcon() + regrowth.UpdateButtons() return FALSE // to let living/handle_blood know that the species is handling blood instead @@ -183,8 +183,8 @@ if(..()) var/mob/living/carbon/human/H = owner if(H.blood_volume >= BLOOD_VOLUME_SLIME_SPLIT) - return 1 - return 0 + return TRUE + return FALSE /datum/action/innate/split_body/Activate() var/mob/living/carbon/human/H = owner @@ -472,9 +472,9 @@ /datum/species/jelly/luminescent/proc/update_slime_actions() integrate_extract.update_name() - integrate_extract.UpdateButtonIcon() - extract_minor.UpdateButtonIcon() - extract_major.UpdateButtonIcon() + integrate_extract.UpdateButtons() + extract_minor.UpdateButtons() + extract_major.UpdateButtons() /datum/species/jelly/luminescent/proc/update_glow(mob/living/carbon/C, intensity) if(intensity) @@ -514,7 +514,7 @@ name = "Eject Extract" desc = "Eject your current slime extract." -/datum/action/innate/integrate_extract/UpdateButtonIcon(status_only, force) +/datum/action/innate/integrate_extract/UpdateButton(atom/movable/screen/movable/action_button/button, status_only, force) if(!species || !species.current_extract) button_icon_state = "slimeconsume" else diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm index 3b7ca3fa0a..0235be3268 100644 --- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm +++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm @@ -70,7 +70,7 @@ H.equipOutfit(O, visualsOnly) H.internal = H.get_item_for_held_index(2) H.update_internals_hud_icon(1) - return 0 + return FALSE /datum/species/plasmaman/random_name(gender,unique,lastname) if(unique) diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm index 812ae12955..5a29818ed4 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -129,7 +129,7 @@ return ..() /obj/item/organ/heart/nightmare/Stop() - return 0 + return FALSE /obj/item/organ/heart/nightmare/on_death() if(!owner) diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index dadf169c35..9b2db8b106 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -156,7 +156,7 @@ failed_last_breath = 1 throw_alert("not_enough_oxy", /atom/movable/screen/alert/not_enough_oxy) - return 0 + return FALSE var/safe_oxy_min = 16 var/safe_oxy_max = 50 @@ -312,7 +312,7 @@ //BREATH TEMPERATURE handle_breath_temperature(breath) - return 1 + return TRUE //Fourth and final link in a breath chain /mob/living/carbon/proc/handle_breath_temperature(datum/gas_mixture/breath) @@ -660,7 +660,7 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put //used in human and monkey handle_environment() /mob/living/carbon/proc/natural_bodytemperature_stabilization() if(HAS_TRAIT(src, TRAIT_COLDBLOODED) || HAS_TRAIT(src, TRAIT_ROBOTIC_ORGANISM)) - return 0 //Return 0 as your natural temperature. Species proc handle_environment() will adjust your temperature based on this. + return FALSE //return FALSE as your natural temperature. Species proc handle_environment() will adjust your temperature based on this. var/body_temperature_difference = BODYTEMP_NORMAL - bodytemperature switch(bodytemperature) @@ -675,7 +675,7 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put /mob/living/carbon/proc/get_cooling_efficiency() if(!HAS_TRAIT(src, TRAIT_ROBOTIC_ORGANISM)) - return 1 + return TRUE var/integration_bonus = min(blood_volume * SYNTH_INTEGRATION_COOLANT_CAP, integrating_blood * SYNTH_INTEGRATION_COOLANT_PENALTY) //Integration blood somewhat helps, though only at 40% impact and to a cap of 25% of current blood level. var/blood_effective_volume = blood_volume + integration_bonus @@ -691,7 +691,7 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put return suitlink //If you are wearing full EVA or lavaland hazard gear (on lavaland), assume it has been made to accomodate your cooling needs. var/datum/gas_mixture/environment = loc.return_air() if(!environment) - return 0 + return FALSE var/pressure = environment.return_pressure() var/heat = environment.return_temperature() @@ -711,12 +711,18 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put var/turf/T = get_turf(src) if(istype(head_item, /obj/item/clothing/head/helmet/space) && istype(suit_item, /obj/item/clothing/suit/space)) - return 1 + return TRUE + + if(istype(head_item, /obj/item/clothing/head/mod) && istype(suit_item, /obj/item/clothing/suit/mod)) + var/obj/item/clothing/suit/mod/modsuit = suit_item + var/obj/item/mod/control/mod_control = modsuit.mod + if(mod_control && mod_control.active) + return TRUE if(T && is_mining_level(T.z) && istype(head_item, /obj/item/clothing/head/hooded/explorer) && istype(suit_item, /obj/item/clothing/suit/hooded/explorer)) - return 1 + return TRUE - return 0 + return FALSE ///////// //LIVER// diff --git a/code/modules/mob/living/carbon/monkey/combat.dm b/code/modules/mob/living/carbon/monkey/combat.dm index cd0af34cd6..c95459fdd1 100644 --- a/code/modules/mob/living/carbon/monkey/combat.dm +++ b/code/modules/mob/living/carbon/monkey/combat.dm @@ -27,7 +27,7 @@ // taken from /mob/living/carbon/human/interactive/ /mob/living/carbon/monkey/proc/walk2derpless(target) if(!target || IsStandingStill()) - return 0 + return FALSE if(myPath.len <= 0) myPath = get_path_to(src, target, 250, 1) @@ -39,14 +39,14 @@ if(myPath.len >= 1) walk_to(src,myPath[1],0,5) myPath -= myPath[1] - return 1 + return TRUE // failed to path correctly so just try to head straight for a bit walk_to(src,get_turf(target),0,5) sleep(1) walk_to(src,0) - return 0 + return FALSE // taken from /mob/living/carbon/human/interactive/ /mob/living/carbon/monkey/proc/IsDeadOrIncap(checkDead = TRUE) @@ -396,12 +396,13 @@ retaliate(Proj.firer) return ..() -/mob/living/carbon/monkey/hitby(atom/movable/AM, skipcatch = FALSE, hitpush = TRUE, blocked = FALSE, datum/thrownthing/throwingdatum) - if(istype(AM, /obj/item)) - var/obj/item/I = AM - if(I.throwforce < src.health && I.thrownby && ishuman(I.thrownby)) - var/mob/living/carbon/human/H = I.thrownby - retaliate(H) +/mob/living/carbon/monkey/hitby(atom/movable/hitting_atom, skipcatch = FALSE, hitpush = TRUE, blocked = FALSE, datum/thrownthing/throwingdatum) + if(istype(hitting_atom, /obj/item)) + var/obj/item/item_hitby = hitting_atom + var/mob/thrown_by = item_hitby.thrownby?.resolve() + if(item_hitby.throwforce < src.health && thrown_by && ishuman(thrown_by)) + var/mob/living/carbon/human/human_throwee = thrown_by + retaliate(human_throwee) ..() /mob/living/carbon/monkey/Crossed(atom/movable/AM) diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm index a7bc0c11d5..e9afb6eef9 100644 --- a/code/modules/mob/living/carbon/monkey/life.dm +++ b/code/modules/mob/living/carbon/monkey/life.dm @@ -137,7 +137,7 @@ /mob/living/carbon/monkey/has_smoke_protection() if(wear_mask) if(wear_mask.clothing_flags & BLOCK_GAS_SMOKE_EFFECT) - return 1 + return TRUE /mob/living/carbon/monkey/handle_fire() . = ..() diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index bb35ff082b..4cdf1f1aeb 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -171,8 +171,8 @@ GLOBAL_LIST_INIT(strippable_monkey_items, create_strippable_list(list( /mob/living/carbon/monkey/IsVocal() if(!getorganslot(ORGAN_SLOT_LUNGS)) - return 0 - return 1 + return FALSE + return TRUE /mob/living/carbon/monkey/can_use_guns(obj/item/G) return TRUE diff --git a/code/modules/mob/living/carbon/monkey/monkey_defense.dm b/code/modules/mob/living/carbon/monkey/monkey_defense.dm index 80d968b229..f0796e2c54 100644 --- a/code/modules/mob/living/carbon/monkey/monkey_defense.dm +++ b/code/modules/mob/living/carbon/monkey/monkey_defense.dm @@ -114,7 +114,7 @@ if(!affecting) affecting = get_bodypart(BODY_ZONE_CHEST) if(!dismembering_strike(M, affecting.body_zone)) //Dismemberment successful - return 1 + return TRUE apply_damage(damage, BRUTE, affecting) else @@ -159,7 +159,7 @@ damage = rand(20, 40) var/dam_zone = dismembering_strike(M, pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)) if(!dam_zone) //Dismemberment successful - return 1 + return TRUE var/obj/item/bodypart/affecting = get_bodypart(ran_zone(dam_zone)) if(!affecting) affecting = get_bodypart(BODY_ZONE_CHEST) diff --git a/code/modules/mob/living/carbon/say.dm b/code/modules/mob/living/carbon/say.dm index 67c29b4211..9838d6f9b9 100644 --- a/code/modules/mob/living/carbon/say.dm +++ b/code/modules/mob/living/carbon/say.dm @@ -9,9 +9,9 @@ /mob/living/carbon/can_speak_vocal(message) if(silent) - return 0 + return FALSE if(get_selected_language() == /datum/language/signlanguage && handcuffed) - return 0 + return FALSE return ..() /mob/living/carbon/could_speak_language(datum/language/language) diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index fcb0ffcefa..76e620b204 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -17,7 +17,7 @@ /mob/living/proc/apply_damage(damage = 0,damagetype = BRUTE, def_zone = null, blocked = FALSE, forced = FALSE, spread_damage = FALSE, wound_bonus = 0, bare_wound_bonus = 0, sharpness = SHARP_NONE) var/hit_percent = (100-blocked)/100 if(!damage || (hit_percent <= 0)) - return 0 + return FALSE var/damage_amount = forced ? damage : damage * hit_percent switch(damagetype) if(BRUTE) @@ -32,7 +32,7 @@ adjustCloneLoss(damage_amount, forced = forced) if(STAMINA) adjustStaminaLoss(damage_amount, forced = forced) - return 1 + return TRUE /mob/living/proc/apply_damage_type(damage = 0, damagetype = BRUTE) //like apply damage except it always uses the damage procs switch(damagetype) @@ -67,7 +67,7 @@ /mob/living/proc/apply_damages(brute = 0, burn = 0, tox = 0, oxy = 0, clone = 0, def_zone = null, blocked = FALSE, stamina = 0, brain = 0) if(blocked >= 100) - return 0 + return FALSE if(brute) apply_damage(brute, BRUTE, def_zone, blocked) if(burn) @@ -82,12 +82,12 @@ apply_damage(stamina, STAMINA, def_zone, blocked) if(brain) apply_damage(brain, BRAIN, def_zone, blocked) - return 1 + return TRUE /mob/living/proc/apply_effect(effect = 0,effecttype = EFFECT_STUN, blocked = FALSE, knockdown_stamoverride, knockdown_stammax) var/hit_percent = (100-blocked)/100 if(!effect || (hit_percent <= 0)) - return 0 + return FALSE switch(effecttype) if(EFFECT_STUN) Stun(effect * hit_percent) @@ -109,7 +109,7 @@ if(EFFECT_JITTER) if((status_flags & CANSTUN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) jitteriness = max(jitteriness,(effect * hit_percent)) - return 1 + return TRUE /mob/living/proc/apply_effects(stun = 0, knockdown = 0, unconscious = 0, irradiate = 0, slur = 0, stutter = 0, eyeblur = 0, drowsy = 0, blocked = 0, stamina = 0, jitter = 0, kd_stamoverride, kd_stammax) @@ -163,7 +163,7 @@ /mob/living/proc/setOxyLoss(amount, updating_health = TRUE, forced = FALSE) if(status_flags & GODMODE) - return 0 + return FALSE oxyloss = amount if(updating_health) updatehealth() @@ -179,7 +179,7 @@ affected_by = TOX_SYSCORRUPT if(toxins_type != affected_by) - return 0 + return FALSE else return toxloss diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index d59978d993..69a6972194 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -489,7 +489,7 @@ if(E.can_run_emote(user, status_check = FALSE)) keys += E.key - keys = sortList(keys) + keys = sort_list(keys) for(var/emote in keys) if(LAZYLEN(message) > 1) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index f4f8060fb3..af911bd2a4 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -133,7 +133,7 @@ if(fire_stacks < 0) //If we've doused ourselves in water to avoid fire, dry off slowly fire_stacks = min(0, fire_stacks + 1)//So we dry ourselves back to default, nonflammable. if(!on_fire) - return 1 + return TRUE if(fire_stacks > 0) adjust_fire_stacks(-0.1) //the fire is slowly consumed else diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index f6a2f1cb38..cd2bc3b38b 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -243,7 +243,7 @@ // If there's no dir_to_target then the player is on the same turf as the atom they're trying to push. // This can happen when a player is stood on the same turf as a directional window. All attempts to push - // the window will fail as get_dir will return 0 and the player will be unable to move the window when + // the window will fail as get_dir will return FALSE and the player will be unable to move the window when // it should be pushable. // In this scenario, we will use the facing direction of the /mob/living attempting to push the atom as // a fallback. @@ -636,7 +636,7 @@ if(mind) for(var/S in mind.spell_list) var/obj/effect/proc_holder/spell/spell = S - spell.updateButtonIcon() + spell.UpdateButton() //proc used to remove all immobilisation effects + reset stamina /mob/living/proc/remove_CC(should_update_mobility = TRUE) @@ -683,7 +683,7 @@ /mob/living/proc/can_be_revived() . = 1 if(health <= HEALTH_THRESHOLD_DEAD) - return 0 + return FALSE /mob/living/proc/update_damage_overlays() return @@ -1051,27 +1051,27 @@ //basic fast checks go first. When overriding this proc, I recommend calling ..() at the end. var/turf/T = get_turf(src) if(!T) - return 0 + return FALSE if(is_centcom_level(T.z)) //dont detect mobs on centcom - return 0 + return FALSE if(is_away_level(T.z)) - return 0 + return FALSE if(user != null && src == user) - return 0 + return FALSE if(invisibility || alpha == 0)//cloaked - return 0 + return FALSE if(digitalcamo || digitalinvis) - return 0 + return FALSE // Now, are they viewable by a camera? (This is last because it's the most intensive check) if(!near_camera(src)) - return 0 + return FALSE - return 1 + return TRUE //used in datum/reagents/reaction() proc /mob/living/proc/get_permeability_protection(list/target_zones) - return 0 + return FALSE /mob/living/proc/harvest(mob/living/user) //used for extra objects etc. in butchering return @@ -1120,7 +1120,7 @@ /mob/living/proc/check_weakness(obj/item/weapon, mob/living/attacker) if(mind && mind.has_antag_datum(/datum/antagonist/devil)) return check_devil_bane_multiplier(weapon, attacker) - return 1 + return TRUE /mob/living/proc/check_acedia() if(mind && mind.has_objective(/datum/objective/sintouched/acedia)) diff --git a/code/modules/mob/living/living_active_parry.dm b/code/modules/mob/living/living_active_parry.dm index cd5208ba57..8740f86b20 100644 --- a/code/modules/mob/living/living_active_parry.dm +++ b/code/modules/mob/living/living_active_parry.dm @@ -241,7 +241,7 @@ // before doing anything, check if the user moused over them properly if(!client) return BLOCK_NONE - var/found = attacker == client.mouseObject + var/found = attacker == client.mouse_object_ref?.resolve() if(!found) for(var/i in client.moused_over_objects) if(i == object) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 817c877a82..9d3d95cb23 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -20,15 +20,15 @@ /mob/living/proc/getarmor(def_zone, type) - return 0 + return FALSE //this returns the mob's protection against eye damage (number between -1 and 2) from bright lights /mob/living/proc/get_eye_protection() - return 0 + return FALSE //this returns the mob's protection against ear damage (0:no protection; 1: some ear protection; 2: has no ears) /mob/living/proc/get_ear_protection() - return 0 + return FALSE /mob/living/proc/is_mouth_covered(head_only = 0, mask_only = 0) return FALSE @@ -96,7 +96,7 @@ return P.on_hit(src, final_percent, def_zone) ? BULLET_ACT_HIT : BULLET_ACT_BLOCK /mob/living/proc/check_projectile_dismemberment(obj/item/projectile/P, def_zone) - return 0 + return FALSE /obj/item/proc/get_volume_by_throwforce_and_or_w_class() if(throwforce && w_class) @@ -104,50 +104,53 @@ else if(w_class) return clamp(w_class * 8, 20, 100) // Multiply the item's weight class by 8, then clamp the value between 20 and 100 else - return 0 - -/mob/living/proc/catch_item(obj/item/I, skip_throw_mode_check = FALSE) - return FALSE + return FALSE /mob/living/hitby(atom/movable/AM, skipcatch, hitpush = TRUE, blocked = FALSE, datum/thrownthing/throwingdatum) - // Throwingdatum can be null if someone had an accident() while slipping with an item in hand. - var/obj/item/I - var/throwpower = 30 - if(isitem(AM)) - I = AM - throwpower = I.throwforce - var/impacting_zone = ran_zone(BODY_ZONE_CHEST, 65)//Hits a random part of the body, geared towards the chest - var/list/block_return = list() - var/total_damage = AM.throwforce - if(mob_run_block(AM, throwpower, "\the [AM.name]", ATTACK_TYPE_THROWN, 0, throwingdatum?.thrower, impacting_zone, block_return) & BLOCK_SUCCESS) + if(!isitem(AM)) + // Filled with made up numbers for non-items. + if(mob_run_block(AM, 30, "\the [AM.name]", ATTACK_TYPE_PROJECTILE, 0, throwingdatum.thrower, throwingdatum.thrower.zone_selected, list())) + hitpush = FALSE + skipcatch = TRUE + blocked = TRUE + else + playsound(loc, 'sound/weapons/genhit.ogg', 50, TRUE, -1) //Item sounds are handled in the item itself + return ..() + + var/obj/item/thrown_item = AM + if(thrown_item.thrownby == WEAKREF(src)) //No throwing stuff at yourself to trigger hit reactions + return ..() + + if(mob_run_block(AM, thrown_item.throwforce, "\the [thrown_item.name]", ATTACK_TYPE_PROJECTILE, 0, throwingdatum.thrower, throwingdatum.thrower.zone_selected, list())) hitpush = FALSE skipcatch = TRUE blocked = TRUE - total_damage = block_calculate_resultant_damage(total_damage, block_return) - if(I) - var/nosell_hit = SEND_SIGNAL(I, COMSIG_MOVABLE_IMPACT_ZONE, src, impacting_zone, throwingdatum, FALSE, blocked) - if(nosell_hit) - skipcatch = TRUE - hitpush = FALSE - if(!skipcatch && isturf(I.loc) && catch_item(I)) - return TRUE - var/dtype = BRUTE - dtype = I.damtype + var/zone = ran_zone(BODY_ZONE_CHEST, 65)//Hits a random part of the body, geared towards the chest + var/nosell_hit = SEND_SIGNAL(thrown_item, COMSIG_MOVABLE_IMPACT_ZONE, src, zone, blocked, throwingdatum) // TODO: find a better way to handle hitpush and skipcatch for humans + if(nosell_hit) + skipcatch = TRUE + hitpush = FALSE - if(!blocked) - if(!nosell_hit) - visible_message("[src] is hit by [I]!", \ - "You're hit by [I]!") - if(!I.throwforce) - return - var/armor = run_armor_check(impacting_zone, MELEE, "Your armor has protected your [parse_zone(impacting_zone)].", "Your armor has softened hit to your [parse_zone(impacting_zone)].",I.armour_penetration) - apply_damage(I.throwforce, dtype, impacting_zone, armor, sharpness=I.get_sharpness(), wound_bonus=(nosell_hit * CANT_WOUND)) - else - return 1 - else - playsound(loc, 'sound/weapons/genhit.ogg', 50, 1, -1) - ..() + if(blocked) + return TRUE + + var/mob/thrown_by = thrown_item.thrownby?.resolve() + if(thrown_by) + log_combat(thrown_by, src, "threw and hit", thrown_item) + if(nosell_hit) + return ..() + visible_message(span_danger("[src] is hit by [thrown_item]!"), \ + span_userdanger("You're hit by [thrown_item]!")) + if(!thrown_item.throwforce) + return + var/armor = run_armor_check(zone, MELEE, "Your armor has protected your [parse_zone(zone)].", "Your armor has softened hit to your [parse_zone(zone)].", thrown_item.armour_penetration, "", FALSE) + apply_damage(thrown_item.throwforce, thrown_item.damtype, zone, armor, sharpness = thrown_item.get_sharpness(), wound_bonus = (nosell_hit * CANT_WOUND)) + if(QDELETED(src)) //Damage can delete the mob. + return + if(lying) // physics says it's significantly harder to push someone by constantly chucking random furniture at them if they are down on the floor. + hitpush = FALSE + return ..() /mob/living/fire_act() adjust_fire_stacks(3) @@ -199,11 +202,11 @@ if(GRAB_NECK) log_combat(user, src, "attempted to strangle", addition="kill grab") if(!do_mob(user, src, grab_upgrade_time)) - return 0 + return FALSE if(!user.pulling || user.pulling != src || user.grab_state != old_grab_state || user.a_intent != INTENT_GRAB) - return 0 + return FALSE if(user.voremode && user.grab_state == GRAB_AGGRESSIVE) - return 0 + return FALSE user.setGrabState(user.grab_state + 1) switch(user.grab_state) if(GRAB_AGGRESSIVE) @@ -237,7 +240,7 @@ if(!buckled && !density) Move(user.loc) user.set_pull_offsets(src, grab_state) - return 1 + return TRUE /mob/living/on_attack_hand(mob/user, act_intent = user.a_intent, attackchain_flags) ..() //Ignoring parent return value here. @@ -299,7 +302,7 @@ M.visible_message("\The [M] [M.friendly_verb_continuous] [src]!", "You [M.friendly_verb_simple] [src]!", target = src, target_message = "\The [M] [M.friendly_verb_continuous] you!") - return 0 + return FALSE else if(HAS_TRAIT(M, TRAIT_PACIFISM)) to_chat(M, "You don't want to hurt anyone!") @@ -307,7 +310,7 @@ var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) var/list/return_list = list() if(mob_run_block(M, damage, "the [M.name]", ATTACK_TYPE_MELEE, M.armour_penetration, M, check_zone(M.zone_selected), return_list) & BLOCK_SUCCESS) - return 0 + return FALSE damage = block_calculate_resultant_damage(damage, return_list) if(M.attack_sound) playsound(src, M.attack_sound, 50, 1, 1) @@ -415,7 +418,7 @@ /mob/living/acid_act(acidpwr, acid_volume) take_bodypart_damage(acidpwr * min(1, acid_volume * 0.1)) - return 1 + return TRUE ///As the name suggests, this should be called to apply electric shocks. /mob/living/proc/electrocute_act(shock_damage, source, siemens_coeff = 1, flags = NONE) @@ -515,7 +518,7 @@ //called when the mob receives a loud bang /mob/living/proc/soundbang_act() - return 0 + return FALSE //to damage the clothes worn by a mob /mob/living/proc/damage_clothes(damage_amount, damage_type = BRUTE, damage_flag = 0, def_zone) diff --git a/code/modules/mob/living/living_mobility.dm b/code/modules/mob/living/living_mobility.dm index a0f4844db4..155f1dbc89 100644 --- a/code/modules/mob/living/living_mobility.dm +++ b/code/modules/mob/living/living_mobility.dm @@ -16,6 +16,7 @@ /mob/living/proc/update_resting(update_mobility = TRUE) if(update_mobility) update_mobility() + update_rest_hud_icon() //Force mob to rest, does NOT do stamina damage. //It's really not recommended to use this proc to give feedback, hence why silent is defaulting to true. diff --git a/code/modules/mob/living/living_movement.dm b/code/modules/mob/living/living_movement.dm index fcab9344d9..a09ecb0b54 100644 --- a/code/modules/mob/living/living_movement.dm +++ b/code/modules/mob/living/living_movement.dm @@ -81,7 +81,7 @@ if (!buckled.anchored) return buckled.Move(newloc, direct) else - return 0 + return FALSE var/old_direction = dir var/turf/T = loc diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index e5fb2510ed..d2efbd1713 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -208,7 +208,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(radio_return & REDUCE_RANGE) message_range = 1 if(radio_return & NOPASS) - return 1 + return TRUE //No screams in space, unless you're next to someone. var/turf/T = get_turf(src) @@ -226,7 +226,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( succumb() to_chat(src, compose_message(src, language, message, null, spans, message_mode)) - return 1 + return TRUE /mob/living/compose_message(atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode, face_name = FALSE, atom/movable/source) . = ..() @@ -358,23 +358,23 @@ GLOBAL_LIST_INIT(department_radio_keys, list( /mob/living/can_speak(message) //For use outside of Say() if(can_speak_basic(message) && can_speak_vocal(message)) - return 1 + return TRUE /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 + return FALSE if(!ignore_spam && client.handle_spam_prevention(message,MUTE_IC)) - return 0 + return FALSE - return 1 + return TRUE /mob/living/proc/can_speak_vocal(message) //Check AFTER handling of xeno and ling channels var/obj/item/bodypart/leftarm = get_bodypart(BODY_ZONE_L_ARM) var/obj/item/bodypart/rightarm = get_bodypart(BODY_ZONE_R_ARM) if(HAS_TRAIT(src, TRAIT_MUTE) && get_selected_language() != /datum/language/signlanguage) - return 0 + return FALSE if (get_selected_language() == /datum/language/signlanguage) var/left_disabled = FALSE @@ -390,15 +390,15 @@ GLOBAL_LIST_INIT(department_radio_keys, list( else right_disabled = TRUE if (left_disabled && right_disabled) // We want this to only return false if both arms are either missing or disabled since you could technically sign one-handed. - return 0 + return FALSE if(is_muzzled()) - return 0 + return FALSE if(!IsVocal()) - return 0 + return FALSE - return 1 + return TRUE /mob/living/proc/get_key(message) var/key = message[1] @@ -468,9 +468,9 @@ GLOBAL_LIST_INIT(department_radio_keys, list( return ITALICS | REDUCE_RANGE if(MODE_BINARY) - return ITALICS | REDUCE_RANGE //Does not return 0 since this is only reached by humans, not borgs or AIs. + return ITALICS | REDUCE_RANGE //Does not return FALSE since this is only reached by humans, not borgs or AIs. - return 0 + return FALSE /mob/living/say_mod(input, message_mode) . = ..() diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 08098b818f..64b17b2622 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -30,6 +30,7 @@ d_hud = DATA_HUD_DIAGNOSTIC_ADVANCED mob_size = MOB_SIZE_LARGE has_field_of_vision = FALSE //Vision through cameras. + var/battery = 200 //emergency power if the AI's APC is off var/list/network = list("ss13") var/obj/machinery/camera/current var/list/connected_robots = list() @@ -46,7 +47,7 @@ var/obj/item/multitool/aiMulti var/mob/living/simple_animal/bot/Bot var/tracking = FALSE //this is 1 if the AI is currently tracking somebody, but the track has not yet been completed. - var/datum/effect_system/spark_spread/spark_system//So they can initialize sparks whenever/N + var/datum/effect_system/spark_spread/spark_system //So they can initialize sparks whenever/N var/obj/machinery/status_display/controlled_display //MALFUNCTION @@ -83,7 +84,7 @@ var/cooldown = 0 var/acceleration = 1 - var/obj/structure/AIcore/deactivated/linked_core //For exosuit control + var/obj/structure/ai_core/deactivated/linked_core //For exosuit control var/mob/living/silicon/robot/deployed_shell = null //For shell control var/datum/action/innate/deploy_shell/deploy_action = new var/datum/action/innate/deploy_last_shell/redeploy_action = new @@ -105,11 +106,17 @@ ///remember AI's last location var/atom/lastloc interaction_range = INFINITY + ///whether its mmi is a posibrain or regular mmi when going ai mob to ai core structure + var/posibrain_inside = TRUE + ///whether its cover is opened, so you can wirecut it for deconstruction + var/opened = FALSE + ///whether AI is anchored or not, used for checks + var/is_anchored = TRUE /mob/living/silicon/ai/Initialize(mapload, datum/ai_laws/L, mob/target_ai) . = ..() if(!target_ai) //If there is no player/brain inside. - new/obj/structure/AIcore/deactivated(loc) //New empty terminal. + new/obj/structure/ai_core/deactivated(loc) //New empty terminal. return INITIALIZE_HINT_QDEL //Delete AI. ADD_TRAIT(src, TRAIT_NO_TELEPORT, src) @@ -125,6 +132,8 @@ mind.store_memory("As an AI, you must obey your silicon laws above all else. Your objectives will consider you to be dead.") to_chat(src, "You have been installed as an AI! ") to_chat(src, "You must obey your silicon laws above all else. Your objectives will consider you to be dead.") + if(!mind.has_ever_been_ai) + mind.has_ever_been_ai = TRUE to_chat(src, "You are playing the station's AI. The AI cannot move, but can interact with many objects while viewing them (through cameras).") to_chat(src, "To look at other parts of the station, click on yourself to get a camera menu.") @@ -237,6 +246,8 @@ . += text("Systems nonfunctional") return . += text("System integrity: [(health + 100) * 0.5]%") + if(isturf(loc)) //only show if we're "in" a core + . += "Backup Power: [battery * 0.5]%" . += text("Connected cyborgs: [length(connected_robots)]") for(var/r in connected_robots) var/mob/living/silicon/robot/connected_robot = r @@ -333,18 +344,64 @@ if(!isturf(loc)) // if their location isn't a turf return // stop if(incapacitated()) - return - var/is_anchored = FALSE - if(move_resist == MOVE_FORCE_OVERPOWERING) + if(battery < 50) + to_chat(src, span_warning("Insufficient backup power!")) + return + battery = battery - 50 + to_chat(src, span_notice("You route power from your backup battery to move the bolts.")) + flip_anchored() + to_chat(src, "You are now [is_anchored ? "" : "un"]anchored.") + +/mob/living/silicon/ai/proc/flip_anchored() + if(is_anchored) + is_anchored = !is_anchored move_resist = MOVE_FORCE_NORMAL + status_flags |= CANPUSH REMOVE_TRAIT(src, TRAIT_NO_TELEPORT, src) else - is_anchored = TRUE + is_anchored = !is_anchored move_resist = MOVE_FORCE_OVERPOWERING + status_flags &= ~CANPUSH ADD_TRAIT(src, TRAIT_NO_TELEPORT, src) - to_chat(src, "You are now [is_anchored ? "" : "un"]anchored.") - // the message in the [] will change depending whether or not the AI is anchored +/mob/living/silicon/ai/proc/ai_mob_to_structure() + disconnect_shell() + ShutOffDoomsdayDevice() + var/obj/structure/ai_core/deactivated/ai_core = new(get_turf(src), /* skip_mmi_creation = */ TRUE) + if(make_mmi_drop_and_transfer(ai_core.core_mmi, the_core = ai_core)) + qdel(src) + return ai_core + +/mob/living/silicon/ai/proc/make_mmi_drop_and_transfer(obj/item/mmi/the_mmi, the_core) + var/mmi_type + if(posibrain_inside) + mmi_type = new/obj/item/mmi/posibrain(src, /* autoping = */ FALSE) + else + mmi_type = new/obj/item/mmi(src) + if(hack_software) + new/obj/item/malf_upgrade(get_turf(src)) + the_mmi = mmi_type + the_mmi.brain = new /obj/item/organ/brain(the_mmi) + the_mmi.brain.organ_flags |= ORGAN_FROZEN + the_mmi.brain.name = "[real_name]'s brain" + the_mmi.name = "[initial(the_mmi.name)]: [real_name]" + the_mmi.brainmob = new /mob/living/brain(the_mmi) + the_mmi.brainmob.name = src.real_name + the_mmi.brainmob.real_name = src.real_name + the_mmi.brainmob.container = the_mmi + the_mmi.brainmob.suiciding = suiciding + if(the_core) + var/obj/structure/ai_core/core = the_core + core.core_mmi = the_mmi + the_mmi.forceMove(the_core) + else + the_mmi.forceMove(get_turf(src)) + if(the_mmi.brainmob.stat == DEAD && !suiciding) + the_mmi.brainmob.stat = CONSCIOUS + if(mind) + mind.transfer_to(the_mmi.brainmob) + the_mmi.update_appearance() + return TRUE // AIs are immobile /mob/living/silicon/ai/update_mobility() @@ -427,18 +484,30 @@ return if (href_list["ai_take_control"]) //Mech domination - var/obj/vehicle/sealed/mecha/M = locate(href_list["ai_take_control"]) + var/obj/vehicle/sealed/mecha/M = locate(href_list["ai_take_control"]) in GLOB.mechas_list + if (!M) + return + + var/mech_has_controlbeacon = FALSE + for(var/obj/item/mecha_parts/mecha_tracking/ai_control/A in M.trackers) + mech_has_controlbeacon = TRUE + break + if(!can_dominate_mechs && !mech_has_controlbeacon) + message_admins("Warning: possible href exploit by [key_name(usr)] - attempted control of a mecha without can_dominate_mechs or a control beacon in the mech.") + usr.log_message("possibly attempting href exploit - attempted control of a mecha without can_dominate_mechs or a control beacon in the mech.", LOG_ADMIN) + return + if(controlled_equipment) - to_chat(src, "You are already loaded into an onboard computer!") + to_chat(src, span_warning("You are already loaded into an onboard computer!")) return if(!GLOB.cameranet.checkCameraVis(M)) - to_chat(src, "Exosuit is no longer near active cameras.") + to_chat(src, span_warning("Exosuit is no longer near active cameras.")) return if(!isturf(loc)) - to_chat(src, "You aren't in your core!") + to_chat(src, span_warning("You aren't in your core!")) return if(M) - M.transfer_ai(AI_MECH_HACK,src, usr) //Called om the mech itself. + M.transfer_ai(AI_MECH_HACK, src, usr) //Called on the mech itself. /mob/living/silicon/ai/proc/switchCamera(obj/machinery/camera/C) @@ -549,7 +618,7 @@ queueAlarm(text("--- [] alarm detected in []! (No Camera)", class, home.name), class) if (viewalerts) ai_alerts() - return 1 + return TRUE /mob/living/silicon/ai/freeCamera(area/home, obj/machinery/camera/cam) for(var/class in alarms) @@ -825,17 +894,19 @@ to_chat(user, "No intelligence patterns detected." ) return ShutOffDoomsdayDevice() - new /obj/structure/AIcore/deactivated(loc)//Spawns a deactivated terminal at AI location. + var/obj/structure/ai_core/new_core = new /obj/structure/ai_core/deactivated(loc, posibrain_inside)//Spawns a deactivated terminal at AI location. + new_core.circuit.battery = battery ai_restore_power()//So the AI initially has power. - control_disabled = 1//Can't control things remotely if you're stuck in a card! - radio_enabled = 0 //No talking on the built-in radio for you either! + control_disabled = TRUE //Can't control things remotely if you're stuck in a card! + interaction_range = 0 + radio_enabled = FALSE //No talking on the built-in radio for you either! forceMove(card) card.AI = src to_chat(src, "You have been downloaded to a mobile storage device. Remote device connection severed.") to_chat(user, "Transfer successful: [name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory.") /mob/living/silicon/ai/can_buckle() - return 0 + return FALSE /mob/living/silicon/ai/incapacitated(ignore_restraints, ignore_grab) if(aiRestorePowerRoutine) @@ -1063,7 +1134,7 @@ // Sends an announcement the AI has cryoed. var/obj/machinery/announcement_system/announcer = pick(GLOB.announcement_systems) announcer.announce("CRYOSTORAGE", src.real_name, announce_rank, list()) - new /obj/structure/AIcore/latejoin_inactive(loc) + new /obj/structure/ai_core/latejoin_inactive(loc) if(src.mind) //Handle job slot/tater cleanup. if(src.mind.assigned_role == "AI") diff --git a/code/modules/mob/living/silicon/ai/ai_defense.dm b/code/modules/mob/living/silicon/ai/ai_defense.dm index b8a0a15e70..6cf3d5a68a 100644 --- a/code/modules/mob/living/silicon/ai/ai_defense.dm +++ b/code/modules/mob/living/silicon/ai/ai_defense.dm @@ -2,7 +2,7 @@ . = ..() if(!.) return FALSE - if(I.force && I.damtype != STAMINA && stat != DEAD) //only sparks if real damage is dealt. + if(I.force && I.damtype != STAMINA && stat != DEAD && !QDELETED(src)) //only sparks if real damage is dealt. spark_system.start() /mob/living/silicon/ai/attack_slime(mob/living/simple_animal/slime/user) @@ -12,8 +12,8 @@ if (stat != DEAD) adjustBruteLoss(60) updatehealth() - return 1 - return 0 + return TRUE + return FALSE /mob/living/silicon/ai/emp_act(severity) . = ..() @@ -48,3 +48,105 @@ /mob/living/silicon/ai/flash_act(intensity = 1, override_blindness_check = 0, affect_silicon = 0) return // no eyes, no flashing + +/mob/living/silicon/ai/emag_act(mob/user, obj/item/card/emag/emag_card) ///emags access panel lock, so you can crowbar it without robotics access or consent + . = ..() + if(emagged) + balloon_alert(user, "access panel lock already shorted!") + return + balloon_alert(user, "access panel lock shorted") + var/message = (user ? "[user] shorts out your access panel lock!" : "Your access panel lock was short circuited!") + to_chat(src, span_warning(message)) + do_sparks(3, FALSE, src) // just a bit of extra "oh shit" to the ai - might grab its attention + emagged = TRUE + return TRUE + +/mob/living/silicon/ai/wrench_act(mob/living/user, obj/item/tool) + . = ..() + if(user.a_intent == INTENT_HARM) + return + balloon_alert(user, "[!is_anchored ? "tightening" : "loosening"] bolts...") + balloon_alert(src, "bolts being [!is_anchored ? "tightened" : "loosened"]...") + if(!tool.use_tool(src, user, 4 SECONDS)) + return TRUE + flip_anchored() + balloon_alert(user, "bolts [is_anchored ? "tightened" : "loosened"]") + balloon_alert(src, "bolts [is_anchored ? "tightened" : "loosened"]") + return TRUE + +/mob/living/silicon/ai/crowbar_act(mob/living/user, obj/item/tool) + . = ..() + if(user.a_intent == INTENT_HARM) + return + if(!is_anchored) + balloon_alert(user, "bolt it down first!") + return TRUE + if(opened) + if(emagged) + balloon_alert(user, "access panel lock damaged!") + return TRUE + balloon_alert(user, "closing access panel...") + balloon_alert(src, "access panel being closed...") + if(!tool.use_tool(src, user, 5 SECONDS)) + return TRUE + balloon_alert(src, "access panel closed") + balloon_alert(user, "access panel closed") + opened = FALSE + return TRUE + if(stat == DEAD) + to_chat(user, span_warning("The access panel looks damaged, you try dislodging the cover.")) + else + var/consent + var/consent_override = FALSE + if(ishuman(user)) + var/mob/living/carbon/human/human_user = user + if(human_user.wear_id) + var/list/access = human_user.wear_id.GetAccess() + if(ACCESS_ROBOTICS in access) + consent_override = TRUE + if(mind) + consent = tgui_alert(src, "[user] is attempting to open your access panel, unlock the cover?", "AI Access Panel", list("Yes", "No")) + if(consent == "No" && !consent_override && !emagged) + to_chat(user, span_notice("[src] refuses to unlock its access panel.")) + return TRUE + if(consent != "Yes" && (consent_override || emagged)) + to_chat(user, span_warning("[src] refuses to unlock its access panel...so you[!emagged ? " swipe your ID and " : " "]open it anyway!")) + else + if(!consent_override && !emagged) + to_chat(user, span_notice("[src] did not respond to your request to unlock its access panel cover lock.")) + return TRUE + else + to_chat(user, span_notice("[src] did not respond to your request to unlock its access panel cover lock. You[!emagged ? " swipe your ID and " : " "]open it anyway.")) + + balloon_alert(user, "prying open access panel...") + balloon_alert(src, "access panel being pried open...") + if(!tool.use_tool(src, user, (stat == DEAD ? 40 SECONDS : 5 SECONDS))) + return TRUE + balloon_alert(src, "access panel opened") + balloon_alert(user, "access panel opened") + opened = TRUE + return TRUE + +/mob/living/silicon/ai/wirecutter_act(mob/living/user, obj/item/tool) + . = ..() + if(user.a_intent == INTENT_HARM) + return + if(!is_anchored) + balloon_alert(user, "bolt it down first!") + return TRUE + if(!opened) + balloon_alert(user, "open the access panel first!") + return TRUE + balloon_alert(src, "neural network being disconnected...") + balloon_alert(user, "disconnecting neural network...") + if(!tool.use_tool(src, user, (stat == DEAD ? 40 SECONDS : 5 SECONDS))) + return TRUE + if(IS_MALF_AI(src)) + to_chat(user, span_userdanger("The voltage inside the wires rises dramatically!")) + user.electrocute_act(120, src) + opened = FALSE + return TRUE + to_chat(src, span_danger("You feel incredibly confused and disorientated.")) + var/atom/ai_structure = ai_mob_to_structure() + ai_structure.balloon_alert(user, "disconnected neural network") + return TRUE diff --git a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm index a3ffd460dd..4a60c93960 100644 --- a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm +++ b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm @@ -177,8 +177,8 @@ GLOBAL_DATUM_INIT(cameranet, /datum/cameranet, new) if(chunk.changed) chunk.hasChanged(1) // Update now, no matter if it's visible or not. if(chunk.visibleTurfs[position]) - return 1 - return 0 + return TRUE + return FALSE /datum/cameranet/proc/stat_entry() if(!statclick) diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm index bce18462b2..be1ac47abd 100644 --- a/code/modules/mob/living/silicon/ai/freelook/eye.dm +++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm @@ -115,7 +115,7 @@ return TRUE /mob/camera/aiEye/Move() - return 0 + return FALSE /mob/camera/aiEye/proc/GetViewerClient() if(ai) diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index 465ecf4783..1506442158 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -28,11 +28,15 @@ // Handle power damage (oxy) if(aiRestorePowerRoutine) // Lost power - adjustOxyLoss(1) + if (!battery) + to_chat(src, span_warning("Your backup battery's output drops below usable levels. It takes only a moment longer for your systems to fail, corrupted and unusable.")) + adjustOxyLoss(200) + else + battery-- else // Gain Power - if(getOxyLoss()) - adjustOxyLoss(-1) + if (battery < 200) + battery++ if(!lacks_power()) var/area/home = get_area(src) diff --git a/code/modules/mob/living/silicon/ai/say.dm b/code/modules/mob/living/silicon/ai/say.dm index 76eaa6ad0d..e23eb842ea 100644 --- a/code/modules/mob/living/silicon/ai/say.dm +++ b/code/modules/mob/living/silicon/ai/say.dm @@ -187,8 +187,8 @@ SEND_SOUND(M, voice) else SEND_SOUND(only_listener, voice) - return 1 - return 0 + return TRUE + return FALSE #undef VOX_DELAY #endif diff --git a/code/modules/mob/living/silicon/damage_procs.dm b/code/modules/mob/living/silicon/damage_procs.dm index b50aeb5f48..bff842cd04 100644 --- a/code/modules/mob/living/silicon/damage_procs.dm +++ b/code/modules/mob/living/silicon/damage_procs.dm @@ -2,14 +2,14 @@ /mob/living/silicon/apply_damage(damage = 0,damagetype = BRUTE, def_zone = null, blocked = FALSE, forced = FALSE, wound_bonus = 0, bare_wound_bonus = 0, sharpness = SHARP_NONE) var/hit_percent = (100-blocked)/100 if(!damage || (!forced && hit_percent <= 0)) - return 0 + return FALSE var/damage_amount = forced ? damage : damage * hit_percent switch(damagetype) if(BRUTE) adjustBruteLoss(damage_amount, forced = forced) if(BURN) adjustFireLoss(damage_amount, forced = forced) - return 1 + return TRUE /mob/living/silicon/apply_effect(effect = 0,effecttype = EFFECT_STUN, blocked = FALSE) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 25d1215d37..cf995f07f0 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -230,7 +230,7 @@ /datum/action/innate/pai/Trigger() if(!ispAI(owner)) - return 0 + return FALSE P = owner /datum/action/innate/pai/software diff --git a/code/modules/mob/living/silicon/pai/personality.dm b/code/modules/mob/living/silicon/pai/personality.dm index 62f2ed7047..2225485da0 100644 --- a/code/modules/mob/living/silicon/pai/personality.dm +++ b/code/modules/mob/living/silicon/pai/personality.dm @@ -12,7 +12,7 @@ /datum/paiCandidate/proc/savefile_save(mob/user) if(IsGuestKey(user.key)) - return 0 + return FALSE var/savefile/F = new /savefile(src.savefile_path(user)) @@ -24,7 +24,7 @@ WRITE_FILE(F["version"], 1) - return 1 + return TRUE // loads the savefile corresponding to the mob's ckey // if silent=true, report incompatible savefiles @@ -33,12 +33,12 @@ /datum/paiCandidate/proc/savefile_load(mob/user, silent = TRUE) if (IsGuestKey(user.key)) - return 0 + return FALSE var/path = savefile_path(user) if (!fexists(path)) - return 0 + return FALSE var/savefile/F = new /savefile(path) @@ -52,10 +52,10 @@ fdel(path) if (!silent) alert(user, "Your savefile was incompatible with this version and was deleted.") - return 0 + return FALSE F["name"] >> src.name F["description"] >> src.description F["role"] >> src.role F["comments"] >> src.comments - return 1 + return TRUE diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index 04665401c5..ad7bc79278 100644 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -206,12 +206,12 @@ var/count = 0 while(!isliving(M)) if(!M || !M.loc) - return 0 //For a runtime where M ends up in nullspace (similar to bluespace but less colourful) + return FALSE //For a runtime where M ends up in nullspace (similar to bluespace but less colourful) M = M.loc count++ if(count >= 6) to_chat(src, "You are not being carried by anyone!") - return 0 + return FALSE spawn CheckDNA(M, src) if("pdamessage") diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index 559ffbbc08..146088f6e2 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -351,7 +351,7 @@ if(module_active) return held_items.Find(module_active) - return 0 + return FALSE /** * Selects the module in the slot module_num. diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 051401f366..88b8a8c7c2 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -28,11 +28,13 @@ inv2 = new /atom/movable/screen/robot/module2() inv3 = new /atom/movable/screen/robot/module3() + ident = rand(1, 999) + if(!shell) aiPDA = new/obj/item/pda/ai(src) aiPDA.owner = real_name aiPDA.ownjob = "Cyborg" - aiPDA.name = real_name + " (" + aiPDA.ownjob + ")" + aiPDA.name = real_name + " ([aiPDA.ownjob])" previous_health = health @@ -59,26 +61,29 @@ update_icons() . = ..() + //If this body is meant to be a borg controlled by the AI player //If this body is meant to be a borg controlled by the AI player if(shell) - make_shell() - - //MMI stuff. Held togheter by magic. ~Miauw - else if(!mmi || !mmi.brainmob) - mmi = new (src) - mmi.brain = new /obj/item/organ/brain(mmi) - mmi.brain.organ_flags |= ORGAN_FROZEN - mmi.brain.name = "[real_name]'s brain" - mmi.icon_state = "mmi_full" - mmi.name = "Man-Machine Interface: [real_name]" - mmi.brainmob = new(mmi) - mmi.brainmob.name = src.real_name - mmi.brainmob.real_name = src.real_name - mmi.brainmob.container = mmi + var/obj/item/borg/upgrade/ai/board = new(src) + make_shell(board) + add_to_upgrades(board) + else + //MMI stuff. Held togheter by magic. ~Miauw + if(!mmi?.brainmob) + mmi = new (src) + mmi.brain = new /obj/item/organ/brain(mmi) + mmi.brain.organ_flags |= ORGAN_FROZEN + mmi.brain.name = "[real_name]'s brain" + mmi.icon_state = "mmi_full" + mmi.name = "[initial(mmi.name)]: [real_name]" + mmi.brainmob = new(mmi) + mmi.brainmob.name = src.real_name + mmi.brainmob.real_name = src.real_name + mmi.brainmob.container = mmi + mmi.update_appearance() INVOKE_ASYNC(src, .proc/updatename) - playsound(loc, 'sound/voice/liveagain.ogg', 75, TRUE) aicamera = new/obj/item/camera/siliconcam/robot_camera(src) toner = tonermax diag_hud_set_borgcell() @@ -157,7 +162,7 @@ if(BORG_SEC_AVAILABLE) modulelist["Security"] = /obj/item/robot_module/security - var/input_module = input("Please, select a module!", "Robot", null, null) as null|anything in sortList(modulelist) + var/input_module = input("Please, select a module!", "Robot", null, null) as null|anything in sort_list(modulelist) if(!input_module || module.type != /obj/item/robot_module) return @@ -266,7 +271,7 @@ if(source.z != z) return if(stat == DEAD) - return 1 + return TRUE var/list/our_sort = alarms[class] for(var/areaname in our_sort) if (areaname == home.name) @@ -274,7 +279,7 @@ var/list/sources = alarm[3] if (!(source in sources)) sources += source - return 1 + return TRUE var/obj/machinery/camera/cam = null var/list/our_cams = null @@ -330,194 +335,145 @@ return FALSE return ISINRANGE(T1.x, T0.x - interaction_range, T0.x + interaction_range) && ISINRANGE(T1.y, T0.y - interaction_range, T0.y + interaction_range) -/mob/living/silicon/robot/proc/attempt_welder_repair(obj/item/W, mob/user) - if(!W.tool_behaviour == TOOL_WELDER) - return - if(!getBruteLoss()) - to_chat(user, "[src] is already in good condition!") - return - if(!W.tool_start_check(user, amount=0)) //The welder has 1u of fuel consumed by it's afterattack, so we don't need to worry about taking any away. - return - user.DelayNextAction(CLICK_CD_MELEE) - if(src == user) - to_chat(user, "You start fixing yourself...") - if(!W.use_tool(src, user, 50)) - return - adjustBruteLoss(-10) - else - to_chat(user, "You start fixing [src]...") - if(!do_after(user, 30, target = src)) - return - adjustBruteLoss(-30) - updatehealth() - add_fingerprint(user) - visible_message("[user] has fixed some of the dents on [src].") - -/mob/living/silicon/robot/proc/attempt_cable_repair(obj/item/stack/cable_coil/W, mob/user) - if (getFireLoss() > 0 || getToxLoss() > 0) - user.DelayNextAction(CLICK_CD_MELEE) - if(src == user) - to_chat(user, "You start fixing yourself...") - if(!W.use_tool(src, user, 50, 1, skill_gain_mult = TRIVIAL_USE_TOOL_MULT)) - to_chat(user, "You need more cable to repair [src]!") - return - adjustFireLoss(-10) - adjustToxLoss(-10) - else - to_chat(user, "You start fixing [src]...") - if(!W.use_tool(src, user, 30, 1)) - to_chat(user, "You need more cable to repair [src]!") - return - adjustFireLoss(-30) - adjustToxLoss(-30) - updatehealth() - user.visible_message("[user] has fixed some of the burnt wires on [src].", "You fix some of the burnt wires on [src].") - else - to_chat(user, "The wires seem fine, there's no need to fix them.") - /mob/living/silicon/robot/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_WELDER && (user.a_intent != INTENT_HARM || user == src)) - INVOKE_ASYNC(src, .proc/attempt_welder_repair, W, user) - return - - else if(istype(W, /obj/item/stack/cable_coil) && wiresexposed) - INVOKE_ASYNC(src, .proc/attempt_cable_repair, W, user) - return - - else if(W.tool_behaviour == TOOL_CROWBAR) // crowbar means open or close the cover - if(opened) - to_chat(user, "You close the cover.") - opened = 0 - update_icons() - else - if(locked) - to_chat(user, "The cover is locked and cannot be opened!") + if(istype(W, /obj/item/stack/cable_coil) && wiresexposed) + user.DelayNextAction(CLICK_CD_MELEE) + if (getFireLoss() > 0 || getToxLoss() > 0) + if(src == user) + to_chat(user, span_notice("You start fixing yourself...")) + if(!W.use_tool(src, user, 5 SECONDS, 1, skill_gain_mult = TRIVIAL_USE_TOOL_MULT)) + to_chat(user, span_warning("You need more cable to repair [src]!")) + return + adjustFireLoss(-10) + adjustToxLoss(-10) else - to_chat(user, "You open the cover.") - opened = 1 - update_icons() + to_chat(user, span_notice("You start fixing [src]...")) + if(!W.use_tool(src, user, 3 SECONDS, 1)) + to_chat(user, span_warning("You need more cable to repair [src]!")) + adjustFireLoss(-30) + adjustToxLoss(-30) + updatehealth() + user.visible_message(span_notice("[user] has fixed some of the burnt wires on [src]."), span_notice("You fix some of the burnt wires on [src].")) + else + to_chat(user, span_warning("The wires seem fine, there's no need to fix them.")) + return - else if(istype(W, /obj/item/stock_parts/cell) && opened) // trying to put a cell inside + if(istype(W, /obj/item/stock_parts/cell) && opened) // trying to put a cell inside if(wiresexposed) - to_chat(user, "Close the cover first!") + to_chat(user, span_warning("Close the cover first!")) else if(cell) - to_chat(user, "There is a power cell already installed!") + to_chat(user, span_warning("There is a power cell already installed!")) else if(!user.transferItemToLoc(W, src)) return cell = W - to_chat(user, "You insert the power cell.") + to_chat(user, span_notice("You insert the power cell.")) update_icons() diag_hud_set_borgcell() + return - else if(is_wire_tool(W)) + if(is_wire_tool(W)) if (wiresexposed) wires.interact(user) else - to_chat(user, "You can't reach the wiring!") + to_chat(user, span_warning("You can't reach the wiring!")) + return - else if(W.tool_behaviour == TOOL_SCREWDRIVER && opened && !cell) // haxing - wiresexposed = !wiresexposed - to_chat(user, "The wires have been [wiresexposed ? "exposed" : "unexposed"]") - update_icons() - - else if((W.tool_behaviour == TOOL_SCREWDRIVER) && opened && cell) // radio - if(shell) - to_chat(user, "You cannot seem to open the radio compartment") //Prevent AI radio key theft - else if(radio) - radio.attackby(W,user)//Push it to the radio to let it handle everything - else - to_chat(user, "Unable to locate a radio!") - update_icons() - - else if(W.tool_behaviour == TOOL_WRENCH && opened && !cell) //Deconstruction. The flashes break from the fall, to prevent this from being a ghetto reset module. - if(!locked_down) - to_chat(user, "[src]'s bolts spark! Maybe you should lock them down first!") - spark_system.start() - return - else - to_chat(user, "You start to unfasten [src]'s securing bolts...") - if(W.use_tool(src, user, 50, volume=50) && !cell) - user.visible_message("[user] deconstructs [src]!", "You unfasten the securing bolts, and [src] falls to pieces!") - deconstruct() - - else if(istype(W, /obj/item/aiModule)) - var/obj/item/aiModule/MOD = W + if(istype(W, /obj/item/ai_module)) + var/obj/item/ai_module/MOD = W if(!opened) - to_chat(user, "You need access to the robot's insides to do that!") + to_chat(user, span_warning("You need access to the robot's insides to do that!")) return if(wiresexposed) - to_chat(user, "You need to close the wire panel to do that!") + to_chat(user, span_warning("You need to close the wire panel to do that!")) return if(!cell) - to_chat(user, "You need to install a power cell to do that!") + to_chat(user, span_warning("You need to install a power cell to do that!")) return if(shell) //AI shells always have the laws of the AI - to_chat(user, "[src] is controlled remotely! You cannot upload new laws this way!") + to_chat(user, span_warning("[src] is controlled remotely! You cannot upload new laws this way!")) return - if(emagged || (connected_ai && lawupdate)) //Can't be sure which, metagamers - emote("buzz-[user.name]") + if(connected_ai && lawupdate) + to_chat(user, span_warning("[src] is receiving laws remotely from a synced AI!")) + return + if(emagged) + to_chat(user, span_warning("The law interface glitches out!")) + emote("buzz") return if(!mind) //A player mind is required for law procs to run antag checks. - to_chat(user, "[src] is entirely unresponsive!") + to_chat(user, span_warning("[src] is entirely unresponsive!")) return MOD.install(laws, user) //Proc includes a success mesage so we don't need another one return - else if(istype(W, /obj/item/encryptionkey/) && opened) + if(istype(W, /obj/item/encryptionkey) && opened) if(radio)//sanityyyyyy radio.attackby(W,user)//GTFO, you have your own procs else - to_chat(user, "Unable to locate a radio!") + to_chat(user, span_warning("Unable to locate a radio!")) + return - else if (istype(W, /obj/item/card/id)||istype(W, /obj/item/pda)) // trying to unlock the interface with an ID card - if(emagged)//still allow them to open the cover - to_chat(user, "The interface seems slightly damaged.") + if (W.GetID()) // trying to unlock the interface with an ID card if(opened) - to_chat(user, "You must close the cover to swipe an ID card!") + to_chat(user, span_warning("You must close the cover to swipe an ID card!")) else if(allowed(usr)) locked = !locked - to_chat(user, "You [ locked ? "lock" : "unlock"] [src]'s cover.") + to_chat(user, span_notice("You [ locked ? "lock" : "unlock"] [src]'s cover.")) update_icons() + if(emagged) + to_chat(user, span_notice("The cover interface glitches out for a split second.")) + logevent("ChÃ¥vÃis cover lock has been [locked ? "engaged" : "released"]") //ChÃ¥vÃis: see above line + else + logevent("Chassis cover lock has been [locked ? "engaged" : "released"]") else - to_chat(user, "Access denied.") + to_chat(user, span_danger("Access denied.")) + return - else if(istype(W, /obj/item/borg/upgrade/)) + if(istype(W, /obj/item/borg/upgrade)) var/obj/item/borg/upgrade/U = W if(!opened) - to_chat(user, "You must access the borg's internals!") - else if(!src.module && U.require_module) - to_chat(user, "The borg must choose a module before it can be upgraded!") - else if(U.locked) - to_chat(user, "The upgrade is locked and cannot be used yet!") - else - if(!user.temporarilyRemoveItemFromInventory(U)) - return - if(U.action(src)) - to_chat(user, "You apply the upgrade to [src].") - if(U.one_use) - U.afterInstall(src) - qdel(U) - else - U.forceMove(src) - upgrades += U - U.afterInstall(src) - else - to_chat(user, "Upgrade error.") - U.forceMove(drop_location()) + to_chat(user, span_warning("You must access the cyborg's internals!")) + return + if(!module && U.require_module) + to_chat(user, span_warning("The cyborg must choose a model before it can be upgraded!")) + return + if(U.locked) + to_chat(user, span_warning("The upgrade is locked and cannot be used yet!")) + return + if(!user.canUnEquip(U)) + to_chat(user, span_warning("The upgrade is stuck to you and you can't seem to let go of it!")) + return + apply_upgrade(U, user) + return - else if(istype(W, /obj/item/toner)) + if(istype(W, /obj/item/toner)) if(toner >= tonermax) - to_chat(user, "The toner level of [src] is at its highest level possible!") - else - if(!user.temporarilyRemoveItemFromInventory(W)) - return - toner = tonermax - qdel(W) - to_chat(user, "You fill the toner level of [src] to its max capacity.") - else - return ..() + to_chat(user, span_warning("The toner level of [src] is at its highest level possible!")) + return + if(!user.temporarilyRemoveItemFromInventory(W)) + return + toner = tonermax + qdel(W) + to_chat(user, span_notice("You fill the toner level of [src] to its max capacity.")) + return + + if(istype(W, /obj/item/flashlight)) + if(!opened) + to_chat(user, span_warning("You need to open the panel to repair the headlamp!")) + return + if(lamp_functional) + to_chat(user, span_warning("The headlamp is already functional!")) + return + if(!user.temporarilyRemoveItemFromInventory(W)) + to_chat(user, span_warning("[W] seems to be stuck to your hand. You'll have to find a different light.")) + return + lamp_functional = TRUE + qdel(W) + to_chat(user, span_notice("You replace the headlamp bulbs.")) + return + + return ..() /mob/living/silicon/robot/crowbar_act(mob/living/user, obj/item/I) //TODO: make fucking everything up there in that attackby() proc use the proper tool_act() procs. But honestly, who has time for that? 'cause I know for sure that you, the person reading this, sure as hell doesn't. var/validbreakout = FALSE @@ -1023,7 +979,7 @@ ionpulse = FALSE revert_shell() - return 1 + return TRUE /mob/living/silicon/robot/proc/has_module() if(!module || module.type == /obj/item/robot_module) @@ -1064,29 +1020,45 @@ *Checking Exited() to detect if a hat gets up and walks off. *Drones and pAIs might do this, after all. */ -/mob/living/silicon/robot/Exited(atom/A) - if(hat && hat == A) +/mob/living/silicon/robot/Exited(atom/movable/gone) + . = ..() + if(hat == gone) hat = null if(!QDELETED(src)) //Don't update icons if we are deleted. update_icons() - return ..() -///Use this to add upgrades to robots. It'll register signals for when the upgrade is moved or deleted, if not single use. -/mob/living/silicon/robot/proc/add_to_upgrades(obj/item/borg/upgrade/new_upgrade, mob/user) + if(gone == cell) + cell = null + + if(gone == mmi) + mmi = null + +///Called when a mob uses an upgrade on an open borg. Checks to make sure the upgrade can be applied +/mob/living/silicon/robot/proc/apply_upgrade(obj/item/borg/upgrade/new_upgrade, mob/user, admin_added) + if(!admin_added && isnull(user)) + return FALSE if(new_upgrade in upgrades) return FALSE - if(!user.temporarilyRemoveItemFromInventory(new_upgrade)) //calling the upgrade's dropped() proc /before/ we add action buttons + if(!admin_added && !user.temporarilyRemoveItemFromInventory(new_upgrade)) //calling the upgrade's dropped() proc /before/ we add action buttons return FALSE if(!new_upgrade.action(src, user)) - to_chat(user, "Upgrade error.") - new_upgrade.forceMove(loc) //gets lost otherwise + to_chat(user, span_danger("Upgrade error.")) + if(admin_added) + qdel(new_upgrade) + else + new_upgrade.forceMove(loc) //gets lost otherwise return FALSE - to_chat(user, "You apply the upgrade to [src].") + to_chat(user, span_notice("You apply the upgrade to [src].")) + add_to_upgrades(new_upgrade) + return TRUE + +///Moves the upgrade inside the robot and registers relevant signals. +/mob/living/silicon/robot/proc/add_to_upgrades(obj/item/borg/upgrade/new_upgrade) to_chat(src, "----------------\nNew hardware detected...Identified as \"[new_upgrade]\"...Setup complete.\n----------------") if(new_upgrade.one_use) logevent("Firmware [new_upgrade] run successfully.") qdel(new_upgrade) - return FALSE + return upgrades += new_upgrade new_upgrade.forceMove(src) RegisterSignal(new_upgrade, COMSIG_MOVABLE_MOVED, PROC_REF(remove_from_upgrades)) @@ -1117,15 +1089,17 @@ * * board - B.O.R.I.S. module board used for transforming the cyborg into AI shell */ /mob/living/silicon/robot/proc/make_shell(obj/item/borg/upgrade/ai/board) - if(!board) - upgrades |= new /obj/item/borg/upgrade/ai(src) + if(isnull(board)) + stack_trace("make_shell was called without a board argument! This is never supposed to happen!") + return FALSE + shell = TRUE braintype = "AI Shell" name = "Empty AI Shell-[ident]" real_name = name GLOB.available_ai_shells |= src if(!QDELETED(builtInCamera)) - builtInCamera.c_tag = real_name //update the camera name too + builtInCamera.c_tag = real_name //update the camera name too diag_hud_set_aishell() notify_ai(AI_SHELL) @@ -1328,7 +1302,7 @@ switch(choice) if("Resting") update_icons() - return 0 + return FALSE if("Sitting") sitting = 1 if("Belly up") diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm index d5a1058a61..f8217945db 100644 --- a/code/modules/mob/living/silicon/robot/robot_defense.dm +++ b/code/modules/mob/living/silicon/robot/robot_defense.dm @@ -94,6 +94,76 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real apply_status_effect(/datum/status_effect/vtec_disabled, time) update_movespeed() +/mob/living/silicon/robot/welder_act(mob/living/user, obj/item/tool) + if(user.a_intent == INTENT_HARM) + return FALSE + . = TRUE + if (!getBruteLoss()) + to_chat(user, span_warning("[src] is already in good condition!")) + return + if (!tool.tool_start_check(user, amount=0)) //The welder has 1u of fuel consumed by it's afterattack, so we don't need to worry about taking any away. + return + user.DelayNextAction(CLICK_CD_MELEE) + if(src == user) + to_chat(user, span_notice("You start fixing yourself...")) + if(!tool.use_tool(src, user, 50)) + return + adjustBruteLoss(-10) + else + to_chat(user, span_notice("You start fixing [src]...")) + if(!do_after(user, 3 SECONDS, target = src)) + return + adjustBruteLoss(-30) + updatehealth() + add_fingerprint(user) + visible_message(span_notice("[user] has fixed some of the dents on [src].")) + +/mob/living/silicon/robot/crowbar_act(mob/living/user, obj/item/tool) + . = TRUE + if(opened) + to_chat(user, span_notice("You close the cover.")) + opened = FALSE + update_icons() + else + if(locked) + to_chat(user, span_warning("The cover is locked and cannot be opened!")) + else + to_chat(user, span_notice("You open the cover.")) + opened = TRUE + update_icons() + + return TRUE + +/mob/living/silicon/robot/screwdriver_act(mob/living/user, obj/item/tool) + if(!opened) + return FALSE + . = TRUE + if(!cell) // haxing + wiresexposed = !wiresexposed + to_chat(user, span_notice("The wires have been [wiresexposed ? "exposed" : "unexposed"].")) + else // radio + if(shell) + to_chat(user, span_warning("You cannot seem to open the radio compartment!")) //Prevent AI radio key theft + else if(radio) + radio.screwdriver_act(user, tool) // Push it to the radio to let it handle everything + else + to_chat(user, span_warning("Unable to locate a radio!")) + update_icons() + +/mob/living/silicon/robot/wrench_act(mob/living/user, obj/item/tool) + if(!(opened && !cell)) // Deconstruction. The flashes break from the fall, to prevent this from being a ghetto reset module. + return FALSE + . = TRUE + if(!locked_down) + to_chat(user, span_boldannounce("[src]'s bolts spark! Maybe you should lock them down first!")) + spark_system.start() + return + to_chat(user, span_notice("You start to unfasten [src]'s securing bolts...")) + if(tool.use_tool(src, user, 5 SECONDS, volume = 50) && !cell) + user.visible_message(span_notice("[user] deconstructs [src]!"), span_notice("You unfasten the securing bolts, and [src] falls to pieces!")) + deconstruct() + return + /mob/living/silicon/robot/fire_act() if(!on_fire) //Silicons don't gain stacks from hotspots, but hotspots can ignite them IgniteMob() diff --git a/code/modules/mob/living/silicon/robot/robot_defines.dm b/code/modules/mob/living/silicon/robot/robot_defines.dm index 612298e526..b54473f7a6 100644 --- a/code/modules/mob/living/silicon/robot/robot_defines.dm +++ b/code/modules/mob/living/silicon/robot/robot_defines.dm @@ -50,7 +50,6 @@ var/obj/item/stock_parts/cell/cell = /obj/item/stock_parts/cell/high ///If this is a path, this gets created as an object in Initialize. var/opened = FALSE - var/emagged = FALSE var/emag_cooldown = 0 var/wiresexposed = FALSE diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 9315efe6bc..bd019c6da8 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -86,7 +86,7 @@ if(!(m in R.held_items)) . += m -/obj/item/robot_module/proc/get_or_create_estorage(var/storage_type) +/obj/item/robot_module/proc/get_or_create_estorage(storage_type) for(var/datum/robot_energy_storage/S in storages) if(istype(S, storage_type)) return S @@ -95,42 +95,9 @@ /obj/item/robot_module/proc/add_module(obj/item/I, nonstandard, requires_rebuild) rad_flags |= RAD_NO_CONTAMINATE - if(istype(I, /obj/item/stack)) - var/obj/item/stack/S = I - - if(is_type_in_list(S, list(/obj/item/stack/sheet/metal, /obj/item/stack/rods, /obj/item/stack/tile/plasteel))) - if(S.custom_materials?.len && S.custom_materials[SSmaterials.GetMaterialRef(/datum/material/iron)]) - S.cost = S.custom_materials[SSmaterials.GetMaterialRef(/datum/material/iron)] * 0.25 - S.source = get_or_create_estorage(/datum/robot_energy_storage/metal) - - else if(istype(S, /obj/item/stack/sheet/glass)) - S.cost = 500 - S.source = get_or_create_estorage(/datum/robot_energy_storage/glass) - - else if(istype(S, /obj/item/stack/sheet/rglass/cyborg)) - var/obj/item/stack/sheet/rglass/cyborg/G = S - G.source = get_or_create_estorage(/datum/robot_energy_storage/metal) - G.glasource = get_or_create_estorage(/datum/robot_energy_storage/glass) - - else if(istype(S, /obj/item/stack/medical)) - S.cost = 250 - S.source = get_or_create_estorage(/datum/robot_energy_storage/medical) - - else if(istype(S, /obj/item/stack/cable_coil)) - S.cost = 1 - S.source = get_or_create_estorage(/datum/robot_energy_storage/wire) - - else if(istype(S, /obj/item/stack/marker_beacon)) - S.cost = 1 - S.source = get_or_create_estorage(/datum/robot_energy_storage/beacon) - - else if(istype(S, /obj/item/stack/packageWrap)) - S.cost = 1 - S.source = get_or_create_estorage(/datum/robot_energy_storage/wrapping_paper) - - if(S && S.source) - S.set_custom_materials(null) - S.is_cyborg = 1 + var/obj/item/stack/S = I + if(istype(I, /obj/item/stack) && !S.is_cyborg) // Now handled in the type itself + stack_trace("Non-cyborg variant of /obj/item/stack added to a cyborg's modules.") if(I.loc != src) I.forceMove(src) @@ -380,7 +347,7 @@ var/image/bad_snowflake = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = "alina-med") bad_snowflake.pixel_x = -16 med_icons["Alina"] = bad_snowflake - med_icons = sortList(med_icons) + med_icons = sort_list(med_icons) var/med_borg_icon = show_radial_menu(R, R , med_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(med_borg_icon) if("Default") @@ -498,7 +465,7 @@ var/image/bad_snowflake = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = "alina-eng") bad_snowflake.pixel_x = -16 engi_icons["Alina"] = bad_snowflake - engi_icons = sortList(engi_icons) + engi_icons = sort_list(engi_icons) var/engi_borg_icon = show_radial_menu(R, R , engi_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(engi_borg_icon) if("Default") @@ -595,7 +562,7 @@ var/image/bad_snowflake = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = "alina-sec") bad_snowflake.pixel_x = -16 sec_icons["Alina"] = bad_snowflake - sec_icons = sortList(sec_icons) + sec_icons = sort_list(sec_icons) var/sec_borg_icon = show_radial_menu(R, R , sec_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(sec_borg_icon) if("Default") @@ -681,7 +648,7 @@ /obj/item/robot_module/peacekeeper/be_transformed_to(obj/item/robot_module/old_module) var/mob/living/silicon/robot/R = loc - var/static/list/peace_icons = sortList(list( + var/static/list/peace_icons = sort_list(list( "Default" = image(icon = 'icons/mob/robots.dmi', icon_state = "peace"), "Borgi" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "borgi"), "Spider" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "whitespider") @@ -852,7 +819,7 @@ var/image/bad_snowflake = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = "alina-sec") bad_snowflake.pixel_x = -16 service_icons["Alina"] = bad_snowflake - service_icons = sortList(service_icons) + service_icons = sort_list(service_icons) var/service_robot_icon = show_radial_menu(R, R , service_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(service_robot_icon) if("(Service) Waitress") @@ -935,9 +902,9 @@ /obj/item/gps/cyborg, /obj/item/gripper/mining, /obj/item/cyborg_clamp, - /obj/item/stack/marker_beacon, + /obj/item/stack/marker_beacon/cyborg, /obj/item/destTagger, - /obj/item/stack/packageWrap, + /obj/item/stack/packageWrap/cyborg, /obj/item/card/id/miningborg) emag_modules = list(/obj/item/borg/stun) ratvar_modules = list( @@ -966,7 +933,7 @@ var/image/wide = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = L[a]) wide.pixel_x = -16 mining_icons[a] = wide - mining_icons = sortList(mining_icons) + mining_icons = sort_list(mining_icons) var/mining_borg_icon = show_radial_menu(R, R , mining_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE) switch(mining_borg_icon) if("Lavaland") @@ -1056,7 +1023,7 @@ /obj/item/surgicaldrill, /obj/item/scalpel, /obj/item/bonesetter, - /obj/item/stack/medical/bone_gel, + /obj/item/stack/medical/bone_gel/cyborg, /obj/item/melee/transforming/energy/sword/cyborg/saw, /obj/item/roller/robo, /obj/item/card/emag, @@ -1128,10 +1095,10 @@ if (energy >= amount) energy -= amount if (energy == 0) - return 1 + return TRUE return 2 else - return 0 + return FALSE /datum/robot_energy_storage/proc/add_charge(amount) energy = min(energy + amount, max_energy) @@ -1191,7 +1158,7 @@ /obj/item/surgicaldrill, /obj/item/scalpel, /obj/item/bonesetter, - /obj/item/stack/medical/bone_gel, + /obj/item/stack/medical/bone_gel/cyborg, /obj/item/melee/transforming/energy/sword/cyborg/saw, /obj/item/roller/robo, /obj/item/stack/medical/gauze/cyborg, diff --git a/code/modules/mob/living/silicon/robot/robot_movement.dm b/code/modules/mob/living/silicon/robot/robot_movement.dm index 23500688ae..538f3c513f 100644 --- a/code/modules/mob/living/silicon/robot/robot_movement.dm +++ b/code/modules/mob/living/silicon/robot/robot_movement.dm @@ -1,6 +1,6 @@ /mob/living/silicon/robot/Process_Spacemove(movement_dir = 0) if(ionpulse()) - return 1 + return TRUE return ..() /mob/living/silicon/robot/mob_negates_gravity() diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm index fbc1eb4eb9..298f5d5e00 100644 --- a/code/modules/mob/living/silicon/say.dm +++ b/code/modules/mob/living/silicon/say.dm @@ -24,10 +24,10 @@ to_chat(M, "[link] [rendered]") /mob/living/silicon/binarycheck() - return 1 + return TRUE /mob/living/silicon/lingcheck() - return 0 //Borged or AI'd lings can't speak on the ling channel. + return FALSE //Borged or AI'd lings can't speak on the ling channel. /mob/living/silicon/radio(message, message_mode, list/spans, language) . = ..() @@ -44,7 +44,7 @@ radio.talk_into(src, message, message_mode, spans, language) return ITALICS | REDUCE_RANGE - return 0 + return FALSE /mob/living/silicon/get_message_mode(message) . = ..() diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 83ce09b315..f58b27a537 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -44,6 +44,8 @@ var/obj/machinery/camera/builtInCamera = null var/updating = FALSE //portable camera camerachunk update + ///Whether we have been emagged + var/emagged = FALSE var/hack_software = FALSE //Will be able to use hacking actions var/interaction_range = 7 //wireless control range @@ -362,12 +364,12 @@ to_chat(src, "Automatic announcements [Autochan == "None" ? "will not use the radio." : "set to [Autochan]."]") /mob/living/silicon/put_in_hand_check() // This check is for borgs being able to receive items, not put them in others' hands. - return 0 + return FALSE // The src mob is trying to place an item on someone // But the src mob is a silicon!! Disable. /mob/living/silicon/stripPanelEquip(obj/item/what, mob/who, slot) - return 0 + return FALSE /mob/living/silicon/assess_threat(judgement_criteria, lasercolor = "", datum/callback/weaponcheck=null) //Secbots won't hunt silicon units @@ -432,7 +434,7 @@ return ..() /mob/living/silicon/is_literate() - return 1 + return TRUE /mob/living/silicon/get_inactive_held_item() return FALSE diff --git a/code/modules/mob/living/silicon/silicon_defense.dm b/code/modules/mob/living/silicon/silicon_defense.dm index e1a179ea52..771eeca2ce 100644 --- a/code/modules/mob/living/silicon/silicon_defense.dm +++ b/code/modules/mob/living/silicon/silicon_defense.dm @@ -95,7 +95,7 @@ for(var/mob/living/M in buckled_mobs) unbuckle_mob(M) M.electrocute_act(shock_damage/100, source, siemens_coeff, flags) //Hard metal shell conducts! - return 0 //So borgs they don't die trying to fix wiring + return FALSE //So borgs they don't die trying to fix wiring /mob/living/silicon/emp_act(severity) . = ..() diff --git a/code/modules/mob/living/simple_animal/animal_defense.dm b/code/modules/mob/living/simple_animal/animal_defense.dm index e605ffde31..05ee1554db 100644 --- a/code/modules/mob/living/simple_animal/animal_defense.dm +++ b/code/modules/mob/living/simple_animal/animal_defense.dm @@ -57,7 +57,7 @@ if(.) //successful larva bite var/damage = rand(1, 3) attack_threshold_check(damage) - return 1 + return TRUE if (M.a_intent == INTENT_HELP) if (health > 0) visible_message("[M.name] [response_help_continuous] [src].", \ diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index c3ae3898dd..864e42d1e1 100644 --- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm +++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm @@ -349,8 +349,8 @@ /mob/living/simple_animal/bot/ed209/proc/check_for_weapons(var/obj/item/slot_item) if(slot_item && (slot_item.item_flags & NEEDS_PERMIT)) - return 1 - return 0 + return TRUE + return FALSE /mob/living/simple_animal/bot/ed209/explode() walk_to(src,0) diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index 8cd1cd519d..683a06fab0 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -284,9 +284,9 @@ /mob/living/simple_animal/bot/floorbot/proc/is_hull_breach(turf/t) //Ignore space tiles not considered part of a structure, also ignores shuttle docking areas. var/area/t_area = get_area(t) if(t_area && (t_area.name == "Space" || findtext(t_area.name, "huttle"))) - return 0 + return FALSE else - return 1 + return TRUE //Floorbots, having several functions, need sort out special conditions here. /mob/living/simple_animal/bot/floorbot/process_scan(scan_target) diff --git a/code/modules/mob/living/simple_animal/bot/honkbot.dm b/code/modules/mob/living/simple_animal/bot/honkbot.dm index 7ba1e72024..27eb3be938 100644 --- a/code/modules/mob/living/simple_animal/bot/honkbot.dm +++ b/code/modules/mob/living/simple_animal/bot/honkbot.dm @@ -138,13 +138,14 @@ bike_horn(A) -/mob/living/simple_animal/bot/honkbot/hitby(atom/movable/AM, skipcatch = FALSE, hitpush = TRUE, blocked = FALSE, datum/thrownthing/throwingdatum) - if(istype(AM, /obj/item)) +/mob/living/simple_animal/bot/honkbot/hitby(atom/movable/hitting_atom, skipcatch = FALSE, hitpush = TRUE, blocked = FALSE, datum/thrownthing/throwingdatum) + if(istype(hitting_atom, /obj/item)) playsound(src, honksound, 50, TRUE, -1) - var/obj/item/I = AM - if(I.throwforce < health && I.thrownby && (istype(I.thrownby, /mob/living/carbon/human))) - var/mob/living/carbon/human/H = I.thrownby - retaliate(H) + var/obj/item/item_hitby = hitting_atom + var/mob/thrown_by = item_hitby.thrownby?.resolve() + if(item_hitby.throwforce < src.health && thrown_by && ishuman(thrown_by)) + var/mob/living/carbon/human/human_throwee = thrown_by + retaliate(human_throwee) ..() /mob/living/simple_animal/bot/honkbot/proc/bike_horn() //use bike_horn diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index d1013a5f4e..8ce84f5de9 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -351,12 +351,13 @@ ..() -/mob/living/simple_animal/bot/secbot/hitby(atom/movable/AM, skipcatch = FALSE, hitpush = TRUE, blocked = FALSE, datum/thrownthing/throwingdatum) - if(istype(AM, /obj/item)) - var/obj/item/I = AM - if(I.throwforce < src.health && I.thrownby && ishuman(I.thrownby)) - var/mob/living/carbon/human/H = I.thrownby - retaliate(H) +/mob/living/simple_animal/bot/secbot/hitby(atom/movable/hitting_atom, skipcatch = FALSE, hitpush = TRUE, blocked = FALSE, datum/thrownthing/throwingdatum) + if(istype(hitting_atom, /obj/item)) + var/obj/item/item_hitby = hitting_atom + var/mob/thrown_by = item_hitby.thrownby?.resolve() + if(item_hitby.throwforce < src.health && thrown_by && ishuman(thrown_by)) + var/mob/living/carbon/human/human_throwee = thrown_by + retaliate(human_throwee) ..() diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 7d37039fa1..4539c594a1 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -44,6 +44,9 @@ var/can_repair_constructs = FALSE var/can_repair_self = FALSE var/runetype + var/datum/action/innate/cult/create_rune/our_rune + /// Theme controls color. THEME_CULT is red THEME_WIZARD is purple and THEME_HOLY is blue + var/theme = "cult" var/datum/mind/original_mind /mob/living/simple_animal/hostile/construct/Initialize(mapload) @@ -51,24 +54,26 @@ update_health_hud() var/spellnum = 1 for(var/spell in construct_spells) - var/the_spell = new spell(null) - AddSpell(the_spell) - var/obj/effect/proc_holder/spell/S = mob_spell_list[spellnum] var/pos = 2+spellnum*31 if(construct_spells.len >= 4) pos -= 31*(construct_spells.len - 4) - S.action.button.screen_loc = "6:[pos],4:-2" - S.action.button.moved = "6:[pos],4:-2" + var/obj/effect/proc_holder/spell/the_spell = new spell(null) + the_spell?.action.default_button_position ="6:[pos],4:-2" + AddSpell(the_spell) spellnum++ if(runetype) - var/datum/action/innate/cult/create_rune/CR = new runetype(src) - CR.Grant(src) var/pos = 2+spellnum*31 - CR.button.screen_loc = "6:[pos],4:-2" - CR.button.moved = "6:[pos],4:-2" + if(construct_spells.len >= 4) + pos -= 31*(construct_spells.len - 4) + our_rune = new runetype(src) + our_rune.default_button_position = "6:[pos],4:-2" // Set the default position to this random position + our_rune.Grant(src) + if(icon_state) + add_overlay("glow_[icon_state]_[theme]") /mob/living/simple_animal/hostile/construct/Destroy() original_mind = null + QDEL_NULL(our_rune) . = ..() /mob/living/simple_animal/hostile/construct/death() @@ -274,17 +279,17 @@ if(isconstruct(A)) //is it a construct? var/mob/living/simple_animal/hostile/construct/C = A if(C.health < C.maxHealth) //is it hurt? let's go heal it if it is - return 1 + return TRUE else - return 0 + return FALSE else - return 0 + return FALSE /mob/living/simple_animal/hostile/construct/builder/CanAttack(atom/the_target) if(see_invisible < the_target.invisibility)//Target's invisible to us, forget it - return 0 + return FALSE if(Found(the_target) || ..()) //If we Found it or Can_Attack it normally, we Can_Attack it as long as it wasn't invisible - return 1 //as a note this shouldn't be added to base hostile mobs because it'll mess up retaliate hostile mobs + return TRUE //as a note this shouldn't be added to base hostile mobs because it'll mess up retaliate hostile mobs /mob/living/simple_animal/hostile/construct/builder/MoveToTarget(var/list/possible_targets) ..() @@ -292,7 +297,7 @@ var/mob/living/L = target if(isconstruct(L) && L.health >= L.maxHealth) //is this target an unhurt construct? stop trying to heal it LoseTarget() - return 0 + return FALSE if(L.health <= melee_damage_lower+melee_damage_upper) //ey bucko you're hurt as fuck let's go hit you retreat_distance = null minimum_distance = 1 diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index e4d042a4cc..08612ccc7f 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -670,7 +670,7 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( vocal_pitch = 0.6 /mob/living/simple_animal/pet/dog/corgi/puppy/void/Process_Spacemove(movement_dir = 0) - return 1 //Void puppies can navigate space. + return TRUE //Void puppies can navigate space. //LISA! SQUEEEEEEEEE~ 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 6b524f6114..bb638ea104 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm @@ -276,7 +276,7 @@ return ..() /mob/living/simple_animal/drone/mob_negates_gravity() - return 1 + return TRUE /mob/living/simple_animal/drone/mob_has_gravity() return ..() || mob_negates_gravity() @@ -286,10 +286,10 @@ /mob/living/simple_animal/drone/bee_friendly() // Why would bees pay attention to drones? - return 1 + return TRUE /mob/living/simple_animal/drone/electrocute_act(shock_damage, source, siemens_coeff = 1, flags = NONE) - return 0 //So they don't die trying to fix wiring + return FALSE //So they don't die trying to fix wiring /mob/living/simple_animal/drone/can_see_reagents() . = ..() diff --git a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm index 4acbd41977..e983335a22 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm @@ -176,7 +176,7 @@ /mob/living/simple_animal/drone/cogscarab/get_armor_effectiveness() if(GLOB.ratvar_awakens) - return 1 + return TRUE return ..() /mob/living/simple_animal/drone/cogscarab/triggerAlarm(class, area/A, O, obj/alarmsource) diff --git a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm index b7545de517..7cd3919490 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm @@ -85,7 +85,7 @@ return (armorval * get_armor_effectiveness()) //armor is reduced for tiny fragile drones /mob/living/simple_animal/drone/proc/get_armor_effectiveness() - return 0 //multiplier for whatever head armor you wear as a drone + return FALSE //multiplier for whatever head armor you wear as a drone /mob/living/simple_animal/drone/proc/update_drone_hack(hack, clockwork) if(!istype(src) || !mind) diff --git a/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm b/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm index 4c112858da..c956e19a85 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm @@ -15,22 +15,22 @@ if(I == internal_storage) internal_storage = null update_inv_internal_storage() - return 1 - return 0 + return TRUE + return FALSE /mob/living/simple_animal/drone/can_equip(obj/item/I, slot, disable_warning = FALSE, bypass_equip_delay_self = FALSE, clothing_check = FALSE, list/return_warning) switch(slot) if(ITEM_SLOT_HEAD) if(head) - return 0 + return FALSE if(!((I.slot_flags & ITEM_SLOT_HEAD) || (I.slot_flags & ITEM_SLOT_MASK))) - return 0 - return 1 + return FALSE + return TRUE if(ITEM_SLOT_DEX_STORAGE) if(internal_storage) - return 0 - return 1 + return FALSE + return TRUE ..() diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index 7893f7b26b..d53d596505 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -95,7 +95,7 @@ /mob/living/simple_animal/hostile/retaliate/goat/attackby(obj/item/O, mob/user, params) if(stat == CONSCIOUS && istype(O, /obj/item/reagent_containers/glass)) udder.milkAnimal(O, user) - return 1 + return TRUE else return ..() @@ -159,7 +159,7 @@ /mob/living/simple_animal/cow/attackby(obj/item/O, mob/user, params) if(stat == CONSCIOUS && istype(O, /obj/item/reagent_containers/glass)) udder.milkAnimal(O, user) - return 1 + return TRUE else return ..() diff --git a/code/modules/mob/living/simple_animal/gremlin/gremlin.dm b/code/modules/mob/living/simple_animal/gremlin/gremlin.dm index 117cb50717..371ff612a6 100644 --- a/code/modules/mob/living/simple_animal/gremlin/gremlin.dm +++ b/code/modules/mob/living/simple_animal/gremlin/gremlin.dm @@ -228,7 +228,7 @@ GLOBAL_LIST(bad_gremlin_items) return ..() /mob/living/simple_animal/hostile/gremlin/IsAdvancedToolUser() - return 1 + return TRUE /mob/living/simple_animal/hostile/gremlin/proc/divide() //Health is halved and then reduced by 2. A new gremlin is spawned with the same health as the parent diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 6faf8f0db5..4c8872ffbf 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -257,7 +257,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - summoner.health) / abs(HEALTH_THRESHOLD_DEAD - summoner.maxHealth)) * 100) else resulthealth = round((summoner.health / summoner.maxHealth) * 100, 0.5) - hud_used.healths.maptext = "
    [resulthealth]%
    " + hud_used.healths.maptext = MAPTEXT("
    [resulthealth]%
    ") /mob/living/simple_animal/hostile/guardian/adjustHealth(amount, updating_health = TRUE, forced = FALSE) //The spirit is invincible, but passes on damage to the summoner . = amount diff --git a/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm b/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm index 1fd1e623db..7bc2121e78 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm @@ -41,21 +41,21 @@ ..() //lose items, then return //SLOT HANDLING BULLSHIT FOR INTERNAL STORAGE -/mob/living/simple_animal/hostile/guardian/dextrous/doUnEquip(obj/item/I, force, silent = FALSE) +/mob/living/simple_animal/hostile/guardian/dextrous/doUnEquip(obj/item/I, force, invdrop, silent = FALSE) if(..()) update_inv_hands() if(I == internal_storage) internal_storage = null update_inv_internal_storage() - return 1 - return 0 + return TRUE + return FALSE /mob/living/simple_animal/hostile/guardian/dextrous/can_equip(obj/item/I, slot, disable_warning = FALSE, bypass_equip_delay_self = FALSE, clothing_check = FALSE, list/return_warning) switch(slot) if(ITEM_SLOT_DEX_STORAGE) if(internal_storage) - return 0 - return 1 + return FALSE + return TRUE ..() /mob/living/simple_animal/hostile/guardian/dextrous/equip_to_slot(obj/item/I, slot) diff --git a/code/modules/mob/living/simple_animal/guardian/types/protector.dm b/code/modules/mob/living/simple_animal/guardian/types/protector.dm index 00d56edd55..605c23227e 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/protector.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/protector.dm @@ -29,7 +29,7 @@ /mob/living/simple_animal/hostile/guardian/protector/ToggleMode() if(cooldown > world.time) - return 0 + return FALSE cooldown = world.time + 10 if(toggle) cut_overlays() diff --git a/code/modules/mob/living/simple_animal/hostile/bosses/boss.dm b/code/modules/mob/living/simple_animal/hostile/bosses/boss.dm index 1dedf8cd29..88f25eb5ce 100644 --- a/code/modules/mob/living/simple_animal/hostile/bosses/boss.dm +++ b/code/modules/mob/living/simple_animal/hostile/bosses/boss.dm @@ -143,7 +143,7 @@ var/datum/action/boss/AB = ab if(!boss.client && (!AB.req_statuses || (boss.AIStatus in AB.req_statuses)) && prob(AB.usage_probability) && AB.Trigger()) break - AB.UpdateButtonIcon(TRUE) + AB.UpdateButtons(TRUE) /datum/boss_active_timed_battle/Destroy() diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index 23a0d44d56..f2e64ddf95 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -246,7 +246,7 @@ /mob/living/simple_animal/hostile/poison/giant_spider/handle_automated_action() if(!..()) //AIStatus is off - return 0 + return FALSE if(AIStatus == AI_IDLE) //1% chance to skitter madly away if(!busy && prob(1)) @@ -255,7 +255,7 @@ spawn(50) stop_automated_movement = 0 walk(src,0) - return 1 + return TRUE /mob/living/simple_animal/hostile/poison/giant_spider/nurse/proc/GiveUp(C) spawn(100) @@ -336,7 +336,7 @@ if(L.blood_volume && (L.stat != DEAD || !consumed_mobs[L.tag])) //if they're not dead, you can consume them anyway consumed_mobs[L.tag] = TRUE fed++ - lay_eggs.UpdateButtonIcon(TRUE) + lay_eggs.UpdateButtons(TRUE) visible_message("[src] sticks a proboscis into [L] and sucks a viscous substance out.","You suck the nutriment out of [L], feeding you enough to lay a cluster of eggs.") L.death() //you just ate them, they're dead. else @@ -402,7 +402,7 @@ /obj/effect/proc_holder/wrap/update_icon() action.button_icon_state = "wrap_[active]" - action.UpdateButtonIcon() + action.UpdateButtons() /obj/effect/proc_holder/wrap/Trigger(mob/living/simple_animal/hostile/poison/giant_spider/nurse/user) if(!istype(user)) @@ -418,7 +418,7 @@ else message = "You prepare to wrap something in a cocoon. Left-click your target to start wrapping!" add_ranged_ability(user, message, TRUE) - return 1 + return TRUE /obj/effect/proc_holder/wrap/InterceptClickOn(mob/living/caller, params, atom/target) if(..()) @@ -450,11 +450,11 @@ /datum/action/innate/spider/lay_eggs/IsAvailable(silent = FALSE) if(..()) if(!istype(owner, /mob/living/simple_animal/hostile/poison/giant_spider/nurse)) - return 0 + return FALSE var/mob/living/simple_animal/hostile/poison/giant_spider/nurse/S = owner if(S.fed) - return 1 - return 0 + return TRUE + return FALSE /datum/action/innate/spider/lay_eggs/Activate() if(!istype(owner, /mob/living/simple_animal/hostile/poison/giant_spider/nurse)) @@ -482,7 +482,7 @@ C.poison_per_bite = S.poison_per_bite C.faction = S.faction.Copy() S.fed-- - UpdateButtonIcon(TRUE) + UpdateButtons(TRUE) S.busy = SPIDER_IDLE S.stop_automated_movement = FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index c13f1ad2a6..01d846c5bb 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -86,7 +86,7 @@ /mob/living/simple_animal/hostile/handle_automated_action() if(AIStatus == AI_OFF) - return 0 + return FALSE var/list/possible_targets = ListTargets() //we look around for potential targets and make it a list for later use. if(environment_smash) @@ -98,7 +98,7 @@ if(!MoveToTarget(possible_targets)) //if we lose our target if(AIShouldSleep(possible_targets)) // we try to acquire a new one toggle_ai(AI_IDLE) // otherwise we go idle - return 1 + return TRUE /mob/living/simple_animal/hostile/handle_automated_movement() . = ..() @@ -273,7 +273,7 @@ if(target != null) GainPatience() Aggro() - return 1 + return TRUE //What we do after closing in /mob/living/simple_animal/hostile/proc/MeleeAction(patience = TRUE) @@ -295,12 +295,12 @@ stop_automated_movement = 1 if(!target || !CanAttack(target)) LoseTarget() - return 0 + return FALSE if(target in possible_targets) var/turf/T = get_turf(src) if(target.z != T.z) LoseTarget() - return 0 + return FALSE var/target_distance = get_dist(targets_from,target) if(ranged) //We ranged? Shoot at em if(!target.Adjacent(targets_from) && ranged_cooldown <= world.time) //But make sure they're not in range for a melee attack and our range attack is off cooldown @@ -310,7 +310,7 @@ return TRUE if(!Process_Spacemove()) //Drifting walk(src,0) - return 1 + return TRUE if(retreat_distance != null) //If we have a retreat distance, check if we need to run from our target if(target_distance <= retreat_distance) //If target's closer than our retreat distance, run walk_away(src,target,retreat_distance,move_to_delay) @@ -325,8 +325,8 @@ if(rapid_melee > 1 && target_distance <= melee_queue_distance) MeleeAction(FALSE) in_melee = FALSE //If we're just preparing to strike do not enter sidestep mode - return 1 - return 0 + return TRUE + return FALSE if(environment_smash) if(target.loc != null && get_dist(targets_from, target.loc) <= vision_range) //We can't see our target, but he's in our vision range still if(ranged_ignores_vision && ranged_cooldown <= world.time) //we can't see our target... but we can fire at them! @@ -334,12 +334,12 @@ if((environment_smash & ENVIRONMENT_SMASH_WALLS) || (environment_smash & ENVIRONMENT_SMASH_RWALLS)) //If we're capable of smashing through walls, forget about vision completely after finding our target Goto(target,move_to_delay,minimum_distance) FindHidden() - return 1 + return TRUE else if(FindHidden()) - return 1 + return TRUE LoseTarget() - return 0 + return FALSE /mob/living/simple_animal/hostile/proc/Goto(target, delay, minimum_distance) if(target == src.target) @@ -530,7 +530,7 @@ Goto(A,move_to_delay,minimum_distance) if(A.Adjacent(targets_from)) A.attack_animal(src) - return 1 + return TRUE /mob/living/simple_animal/hostile/RangedAttack(atom/A, params) //Player firing if(ranged && ranged_cooldown <= world.time) diff --git a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm index 0f6c10d817..8463e252ad 100644 --- a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm +++ b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm @@ -70,7 +70,7 @@ /mob/living/simple_animal/hostile/syndicate/mecha_pilot/proc/enter_mecha(obj/vehicle/sealed/mecha/M) if(!M) - return 0 + return FALSE target = null //Target was our mecha, so null it out M.aimob_enter_mech(src) targets_from = M @@ -95,7 +95,7 @@ /mob/living/simple_animal/hostile/syndicate/mecha_pilot/proc/exit_mecha(obj/vehicle/sealed/mecha/M) if(!M) - return 0 + return FALSE mecha.aimob_exit_mech(src) allow_movement_on_non_turfs = FALSE @@ -280,7 +280,7 @@ /mob/living/simple_animal/hostile/syndicate/mecha_pilot/EscapeConfinement() if(mecha && loc == mecha) - return 0 + return FALSE ..() 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 01abea9e96..1f30ebac2d 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -153,7 +153,7 @@ Difficulty: Hard if(is_enraged()) visible_message("[src] deflects the projectile; [p_they()] can't be hit with ranged weapons while enraged!", "You deflect the projectile!") playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 300, 1) - return 0 + return FALSE return ..() /mob/living/simple_animal/hostile/megafauna/bubblegum/ex_act(severity, target, origin) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm index 49db738233..9f13b980b6 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -203,7 +203,7 @@ Difficulty: Medium if(!any_attack) for(var/obj/effect/temp_visual/drakewall/D in drakewalls) qdel(D) - return 0 // nothing to attack in the arena time for enraged attack if we still have a target + return FALSE // nothing to attack in the arena time for enraged attack if we still have a target for(var/turf/T in turfs) if(!(T in empty)) new /obj/effect/temp_visual/lava_warning(T) @@ -211,7 +211,7 @@ Difficulty: Medium new /obj/effect/temp_visual/lava_safe(T) amount-- sleep(24) - return 1 // attack finished completely + return TRUE // attack finished completely /mob/living/simple_animal/hostile/megafauna/dragon/proc/arena_escape_enrage() // you ran somehow / teleported away from my arena attack now i'm mad fucker SetRecoveryTime(80) diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 6370fae0e3..28be4c4865 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -143,8 +143,8 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca /mob/living/simple_animal/hostile/mimic/copy/proc/CheckObject(obj/O) if((isitem(O) || isstructure(O)) && !is_type_in_list(O, GLOB.protected_objects)) - return 1 - return 0 + return TRUE + return FALSE /mob/living/simple_animal/hostile/mimic/copy/proc/CopyObject(obj/O, mob/living/user, destroy_original = 0) if(destroy_original || CheckObject(O)) @@ -176,7 +176,7 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca faction += "[REF(creator)]" // very unique if(destroy_original) qdel(O) - return 1 + return TRUE /mob/living/simple_animal/hostile/mimic/copy/DestroySurroundings() if(destroy_objects) @@ -197,11 +197,11 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca /mob/living/simple_animal/hostile/mimic/copy/machine/CanAttack(atom/the_target) if(the_target == creator) // Don't attack our creator AI. - return 0 + return FALSE if(iscyborg(the_target)) var/mob/living/silicon/robot/R = the_target if(R.connected_ai == creator) // Only attack robots that aren't synced to our creator AI. - return 0 + return FALSE return ..() /mob/living/simple_animal/hostile/mimic/copy/ranged diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm index 4e11ca4897..423a8f6002 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm @@ -72,19 +72,48 @@ While using this makes the system rely on OnFire, it still gives options for tim icon_icon = 'icons/mob/actions/actions_elites.dmi' button_icon_state = "" background_icon_state = "bg_default" - var/mob/living/simple_animal/hostile/asteroid/elite/M var/chosen_message var/chosen_attack_num = 0 +/datum/action/innate/elite_attack/CreateButton() + var/atom/movable/screen/movable/action_button/button = ..() + button.maptext = "" + button.maptext_x = 8 + button.maptext_y = 0 + button.maptext_width = 24 + button.maptext_height = 12 + return button + +/datum/action/innate/elite_attack/process() + if(owner == null) + STOP_PROCESSING(SSfastprocess, src) + qdel(src) + return + UpdateButtons() + +/datum/action/innate/elite_attack/UpdateButton(atom/movable/screen/movable/action_button/button, status_only = FALSE, force = FALSE) + . = ..() + if(!.) + return + if(status_only) + return + var/mob/living/simple_animal/hostile/asteroid/elite/elite_owner = owner + var/timeleft = max(elite_owner.ranged_cooldown - world.time, 0) + if(timeleft == 0) + button.maptext = "" + else + button.maptext = "[round(timeleft/10, 0.1)]" + /datum/action/innate/elite_attack/Grant(mob/living/L) if(istype(L, /mob/living/simple_animal/hostile/asteroid/elite)) - M = L + START_PROCESSING(SSfastprocess, src) return ..() return FALSE /datum/action/innate/elite_attack/Activate() - M.chosen_attack = chosen_attack_num - to_chat(M, chosen_message) + var/mob/living/simple_animal/hostile/asteroid/elite/elite_owner = owner + elite_owner.chosen_attack = chosen_attack_num + to_chat(elite_owner, chosen_message) /mob/living/simple_animal/hostile/asteroid/elite/updatehealth() . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm index e9be18f0cb..2463431ad3 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm @@ -50,7 +50,7 @@ if(!stat) Aggro() if(T.throwforce <= 20) - visible_message("The [T.name] [throw_message] [src.name]!") + visible_message(span_notice("The [T.name] [throw_message] [src.name]!")) return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/retaliate.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/retaliate.dm index 92eb310595..1db137c0f9 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/retaliate.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/retaliate.dm @@ -39,7 +39,7 @@ for(var/mob/living/simple_animal/hostile/retaliate/H in around) if(faction_check_mob(H) && !attack_same && !H.attack_same) H.enemies |= enemies - return 0 + return FALSE /mob/living/simple_animal/hostile/retaliate/adjustHealth(amount, updating_health = TRUE, forced = FALSE) . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/sharks.dm b/code/modules/mob/living/simple_animal/hostile/sharks.dm index af61149130..a101680cc1 100644 --- a/code/modules/mob/living/simple_animal/hostile/sharks.dm +++ b/code/modules/mob/living/simple_animal/hostile/sharks.dm @@ -36,7 +36,7 @@ faction = list("shark") /mob/living/simple_animal/hostile/shark/Process_Spacemove(var/movement_dir = 0) - return 1 //No drifting in space for space sharks....either! + return TRUE //No drifting in space for space sharks....either! /mob/living/simple_animal/hostile/shark/FindTarget() . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index 9356c962fd..c32c06bbcb 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -78,7 +78,7 @@ if(can_be_seen(NewLoc)) if(client) to_chat(src, "You cannot move, there are eyes on you!") - return 0 + return FALSE return ..() /mob/living/simple_animal/hostile/statue/BiologicalLife(delta_time, times_fired) @@ -136,7 +136,7 @@ // Cannot talk /mob/living/simple_animal/hostile/statue/say(message, bubble_type, var/list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null) - return 0 + return FALSE // Turn to dust when gibbed @@ -150,7 +150,7 @@ if(isliving(the_target)) var/mob/living/L = the_target if(!L.client && !L.ckey) - return 0 + return FALSE return ..() // Don't attack your creator if there is one @@ -228,4 +228,4 @@ /mob/living/simple_animal/hostile/statue/restrained(ignore_grab) . = ..() if(can_be_seen(loc)) - return 1 + return TRUE diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 0c24dd36fa..8bf897b0cf 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -188,7 +188,7 @@ ears.talk_into(src, message, message_mode, spans, language) return ITALICS | REDUCE_RANGE - return 0 + return FALSE GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( /datum/strippable_item/parrot_headset, @@ -627,12 +627,12 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( parrot_state = PARROT_WANDER parrot_stuck = 0 parrot_lastmove = null - return 1 + return TRUE else parrot_lastmove = null else parrot_lastmove = src.loc - return 0 + return FALSE /mob/living/simple_animal/parrot/proc/attempt_item_theft() //Search for item to steal @@ -710,7 +710,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( if(held_item) to_chat(src, "You are already holding [held_item]!") - return 1 + return TRUE for(var/obj/item/I in view(1,src)) //Make sure we're not already holding it and it's small enough @@ -726,7 +726,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( return held_item to_chat(src, "There is nothing of interest to take!") - return 0 + return FALSE /mob/living/simple_animal/parrot/proc/steal_from_mob() set name = "Steal from mob" @@ -738,7 +738,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( if(held_item) to_chat(src, "You are already holding [held_item]!") - return 1 + return TRUE var/obj/item/stolen_item = null @@ -755,7 +755,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( return held_item to_chat(src, "There is nothing of interest to take!") - return 0 + return FALSE /mob/living/simple_animal/parrot/verb/drop_held_item_player() set name = "Drop held item" @@ -780,7 +780,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( if(!held_item) if(src == usr) //So that other mobs wont make this message appear when they're bludgeoning you. to_chat(src, "You have nothing to drop!") - return 0 + return FALSE //parrots will eat crackers instead of dropping them @@ -790,7 +790,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( if(health < maxHealth) adjustBruteLoss(-10) emote("me", EMOTE_VISIBLE, "[src] eagerly downs the cracker.") - return 1 + return TRUE if(!drop_gently) @@ -800,13 +800,13 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( G.prime() to_chat(src, "You let go of [held_item]!") held_item = null - return 1 + return TRUE to_chat(src, "You drop [held_item].") held_item.forceMove(drop_location()) held_item = null - return 1 + return TRUE /mob/living/simple_animal/parrot/proc/perch_player() set name = "Sit" diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index f226a911d8..3eb2f8bb0f 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -215,7 +215,7 @@ if(Process_Spacemove(anydir)) Move(get_step(src, anydir), anydir) turns_since_move = 0 - return 1 + return TRUE /mob/living/simple_animal/proc/handle_automated_speech(var/override) set waitfor = FALSE @@ -587,7 +587,7 @@ //ANIMAL RIDING -/mob/living/simple_animal/user_buckle_mob(mob/living/M, mob/user) +/mob/living/simple_animal/user_buckle_mob(mob/living/M, mob/user, check_loc) var/datum/component/riding/riding_datum = GetComponent(/datum/component/riding) if(riding_datum) if(user.incapacitated()) diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm index 274af333fc..42a419db23 100644 --- a/code/modules/mob/living/simple_animal/slime/life.dm +++ b/code/modules/mob/living/simple_animal/slime/life.dm @@ -620,11 +620,11 @@ /mob/living/simple_animal/slime/proc/will_hunt(hunger = -1) // Check for being stopped from feeding and chasing if (docile) - return 0 + return FALSE if (hunger == 2 || rabid || attacked) - return 1 + return TRUE if (Leader) - return 0 + return FALSE if (holding_still) - return 0 - return 1 + return FALSE + return TRUE diff --git a/code/modules/mob/living/simple_animal/slime/powers.dm b/code/modules/mob/living/simple_animal/slime/powers.dm index d93993bf1f..3624c00e6d 100644 --- a/code/modules/mob/living/simple_animal/slime/powers.dm +++ b/code/modules/mob/living/simple_animal/slime/powers.dm @@ -16,16 +16,16 @@ var/mob/living/simple_animal/slime/S = owner if(needs_growth == GROWTH_NEEDED) if(S.amount_grown >= SLIME_EVOLUTION_THRESHOLD) - return 1 - return 0 - return 1 + return TRUE + return FALSE + return TRUE /mob/living/simple_animal/slime/verb/Feed() set category = "Slime" set desc = "This will let you feed on any valid creature in the surrounding area. This should also be used to halt the feeding process." if(stat) - return 0 + return FALSE var/list/choices = list() for(var/mob/living/C in fov_view(1,src)) @@ -34,10 +34,10 @@ var/mob/living/M = input(src,"Who do you wish to feed on?") in null|choices if(!M) - return 0 + return FALSE if(CanFeedon(M)) Feedon(M) - return 1 + return TRUE /datum/action/innate/slime/feed name = "Feed" diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index dc9d6ff6a3..f37ecfe7e6 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -252,7 +252,7 @@ Feedon(Food) return ..() -/mob/living/simple_animal/slime/doUnEquip(obj/item/W, silent = FALSE) +/mob/living/simple_animal/slime/doUnEquip(obj/item/W, invdrop, silent = FALSE) return /mob/living/simple_animal/slime/start_pulling(atom/movable/AM, state, force = move_force, supress_message = FALSE) @@ -326,7 +326,7 @@ if(M.a_intent == INTENT_HELP || M.a_intent == INTENT_DISARM) for(var/datum/surgery/S in surgeries) if(S.next_step(M,M.a_intent)) - return 1 + return TRUE if(..()) //successful attack attacked += 10 @@ -343,7 +343,7 @@ if(user.a_intent == INTENT_HELP || user.a_intent == INTENT_DISARM) for(var/datum/surgery/S in surgeries) if(S.next_step(user,user.a_intent)) - return 1 + return TRUE if(istype(W, /obj/item/stack/sheet/mineral/plasma) && !stat) //Let's you feed slimes plasma. if (user in Friends) ++Friends[user] @@ -478,10 +478,10 @@ docile = 1 /mob/living/simple_animal/slime/can_unbuckle() - return 0 + return FALSE /mob/living/simple_animal/slime/can_buckle() - return 0 + return FALSE /mob/living/simple_animal/slime/get_mob_buckling_height(mob/seat) if(..()) diff --git a/code/modules/mob/living/status_procs.dm b/code/modules/mob/living/status_procs.dm index 498ca19a39..831e8f317b 100644 --- a/code/modules/mob/living/status_procs.dm +++ b/code/modules/mob/living/status_procs.dm @@ -29,7 +29,7 @@ var/datum/status_effect/incapacitating/stun/S = IsStun() if(S) return S.duration - world.time - return 0 + return FALSE /mob/living/proc/Stun(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_STUN, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) @@ -86,7 +86,7 @@ var/datum/status_effect/incapacitating/knockdown/K = IsKnockdown() if(K) return K.duration - world.time - return 0 + return FALSE /mob/living/proc/Knockdown(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_KNOCKDOWN, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) @@ -142,7 +142,7 @@ var/datum/status_effect/incapacitating/immobilized/I = IsImmobilized() if(I) return I.duration - world.time - return 0 + return FALSE /mob/living/proc/Immobilize(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_IMMOBILIZE, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) @@ -198,7 +198,7 @@ var/datum/status_effect/incapacitating/paralyzed/P = IsParalyzed(FALSE) if(P) return P.duration - world.time - return 0 + return FALSE /mob/living/proc/Paralyze(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_PARALYZE, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) @@ -254,7 +254,7 @@ var/datum/status_effect/incapacitating/dazed/I = IsDazed() if(I) return I.duration - world.time - return 0 + return FALSE /mob/living/proc/Daze(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_DAZE, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) @@ -310,7 +310,7 @@ var/datum/status_effect/staggered/I = IsStaggered() if(I) return I.duration - world.time - return 0 + return FALSE /mob/living/proc/Stagger(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_STAGGER, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) @@ -417,7 +417,7 @@ var/datum/status_effect/incapacitating/unconscious/U = IsUnconscious() if(U) return U.duration - world.time - return 0 + return FALSE /mob/living/proc/Unconscious(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_UNCONSCIOUS, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) @@ -464,7 +464,7 @@ var/datum/status_effect/incapacitating/sleeping/S = IsSleeping() if(S) return S.duration - world.time - return 0 + return FALSE /mob/living/proc/Sleeping(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 533da0d9d9..784400a818 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -62,7 +62,7 @@ set hidden = 1 if(!loc) - return 0 + return FALSE var/datum/gas_mixture/environment = loc.return_air() @@ -369,27 +369,6 @@ var/msg = "[src] makes eye contact with you." addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), examined_mob, msg), 3) -//same as above -//note: ghosts can point, this is intended -//visible_message will handle invisibility properly -//overridden here and in /mob/dead/observer for different point span classes and sanity checks -/mob/verb/pointed(atom/A as mob|obj|turf in fov_view()) - set name = "Point To" - set category = "Object" - - if(!src || !isturf(src.loc) || !(A in view(src.loc))) - return FALSE - if(istype(A, /obj/effect/temp_visual/point)) - return FALSE - - var/tile = get_turf(A) - if (!tile) - return FALSE - - new /obj/effect/temp_visual/point(A,invisibility) - SEND_SIGNAL(src, COMSIG_MOB_POINTED, A) - return TRUE - /mob/proc/can_resist() return FALSE //overridden in living.dm @@ -677,7 +656,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) return /mob/proc/assess_threat(judgement_criteria, lasercolor = "", datum/callback/weaponcheck=null) //For sec bot threat assessment - return 0 + return FALSE /mob/proc/get_ghost(even_if_they_cant_reenter = 0) if(mind) @@ -750,7 +729,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) if(isliving(seat)) var/mob/living/L = seat if(L.mob_size <= MOB_SIZE_SMALL) //being on top of a small mob doesn't put you very high. - return 0 + return FALSE return 9 //can the mob be buckled to something by default? @@ -804,7 +783,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) /mob/proc/fully_replace_character_name(oldname,newname) log_message("[src] name changed from [oldname] to [newname]", LOG_OWNERSHIP) if(!newname) - return 0 + return FALSE real_name = newname name = newname if(mind) @@ -822,7 +801,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) // Only update if this player is a target if(obj.target && obj.target.current && obj.target.current.real_name == name) obj.update_explanation_text() - return 1 + return TRUE //Updates GLOB.data_core records with new name , see mob/living/carbon/human /mob/proc/replace_records_name(oldname,newname) @@ -881,7 +860,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) client.mouse_pointer_icon = client.mouse_override_icon /mob/proc/is_literate() - return 0 + return FALSE /mob/proc/can_hold_items() return FALSE diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 138a3b9662..0b22ae25ec 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -100,7 +100,7 @@ var/research_scanner = 0 //For research scanner equipped mobs. Enable to show research data when examining. - var/in_throw_mode = 0 + var/throw_mode = 0 var/job = null//Living diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index cdad94cf3f..ea7900ebac 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -38,9 +38,9 @@ /proc/above_neck(zone) var/list/zones = list(BODY_ZONE_HEAD, BODY_ZONE_PRECISE_MOUTH, BODY_ZONE_PRECISE_EYES) if(zones.Find(zone)) - return 1 + return TRUE else - return 0 + return FALSE /** * Convert random parts of a passed in message to stars @@ -269,7 +269,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp var/mob/M = i if(M.real_name == msg) return M - return 0 + return FALSE /mob/proc/first_name() var/static/regex/firstname = new("^\[^\\s-\]+") //First word before whitespace or "-" @@ -364,7 +364,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp return FALSE /mob/proc/reagent_check(datum/reagent/R) // utilized in the species code - return 1 + return TRUE /proc/notify_ghosts(message, ghost_sound, enter_link, atom/source, mutable_appearance/alert_overlay, action = NOTIFY_JUMP, flashwindow = TRUE, ignore_mapload = TRUE, ignore_key, ignore_dnr_observers = FALSE, header) //Easy notification of ghosts. if(ignore_mapload && SSatoms.initialized != INITIALIZATION_INNEW_REGULAR) //don't notify for objects created during a map load @@ -407,7 +407,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp H.update_damage_overlays() user.visible_message("[user] has fixed some of the [dam ? "dents on" : "burnt wires in"] [H]'s [affecting.name].", \ "You fix some of the [dam ? "dents on" : "burnt wires in"] [H]'s [affecting.name].") - return 1 //successful heal + return TRUE //successful heal else to_chat(user, "[affecting] is already in good condition!") @@ -478,9 +478,9 @@ It's fairly easy to fix if dealing with single letters but not so much with comp /mob/proc/is_flying(mob/M = src) if(M.movement_type & FLYING) - return 1 + return TRUE else - return 0 + return FALSE /mob/proc/click_random_mob() var/list/nearby_mobs = list() diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index e39a9a976f..71f711e987 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -154,7 +154,7 @@ return TRUE /mob/proc/hivecheck() - return 0 + return FALSE /mob/proc/lingcheck() return LINGHIVE_NONE diff --git a/code/modules/mob/say_readme.dm b/code/modules/mob/say_readme.dm index 6b0eb187ad..3a61bfee1a 100644 --- a/code/modules/mob/say_readme.dm +++ b/code/modules/mob/say_readme.dm @@ -128,7 +128,7 @@ global procs handle_inherent_channels(message, message_mode) If message_mode is MODE_BINARY, MODE_ALIEN or MODE_CHANGELING (or, for AIs, MODE_HOLOPAD), this will - handle speaking in those modes. Return 1 to exit say(). + handle speaking in those modes. return TRUE to exit say(). treat_message(message) What it says on the tin. Treats the message according to masks, mutantraces, mutations, etc. @@ -143,7 +143,7 @@ global procs ITALICS = add italics to the message REDUCE_RANGE = reduce the message range to one tile. - Return 0 if no radio was spoken into. + return FALSE if no radio was spoken into. IMPORTANT: remember to call ..() and check for ..()'s return value properly! ============================RADIOS============================= diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 8fed4b88e2..48faeafd48 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -603,35 +603,35 @@ //Bad mobs! - Remember to add a comment explaining what's wrong with the mob if(!MP) - return 0 //Sanity, this should never happen. + return FALSE //Sanity, this should never happen. if(ispath(MP, /mob/living/simple_animal/hostile/construct)) - return 0 //Verbs do not appear for players. + return FALSE //Verbs do not appear for players. //Good mobs! if(ispath(MP, /mob/living/simple_animal/pet/cat)) - return 1 + return TRUE if(ispath(MP, /mob/living/simple_animal/pet/dog/corgi)) - return 1 + return TRUE if(ispath(MP, /mob/living/simple_animal/crab)) - return 1 + return TRUE if(ispath(MP, /mob/living/simple_animal/hostile/carp)) - return 1 + return TRUE if(ispath(MP, /mob/living/simple_animal/hostile/mushroom)) - return 1 + return TRUE if(ispath(MP, /mob/living/simple_animal/hostile/construct/shade)) - return 1 + return TRUE if(ispath(MP, /mob/living/simple_animal/hostile/killertomato)) - return 1 + return TRUE if(ispath(MP, /mob/living/simple_animal/mouse)) - return 1 //It is impossible to pull up the player panel for mice (Fixed! - Nodrak) + return TRUE //It is impossible to pull up the player panel for mice (Fixed! - Nodrak) if(ispath(MP, /mob/living/simple_animal/hostile/bear)) - return 1 //Bears will auto-attack mobs, even if they're player controlled (Fixed! - Nodrak) + return TRUE //Bears will auto-attack mobs, even if they're player controlled (Fixed! - Nodrak) if(ispath(MP, /mob/living/simple_animal/parrot)) - return 1 //Parrots are no longer unfinished! -Nodrak + return TRUE //Parrots are no longer unfinished! -Nodrak //Not in here? Must be untested! - return 0 + return FALSE #undef TRANSFORMATION_DURATION diff --git a/code/modules/mod/mod_activation.dm b/code/modules/mod/mod_activation.dm index 42e9a3dff0..10e91eccb2 100644 --- a/code/modules/mod/mod_activation.dm +++ b/code/modules/mod/mod_activation.dm @@ -17,7 +17,7 @@ var/obj/item/part = locate(part_reference) in mod_parts if(!istype(part) || user.incapacitated()) return - if((active && part != helmet) || activating) // SKYRAT EDIT - Let the hair flow - ORIGINAL: if(active || activating) + if(active || activating) balloon_alert(user, "deactivate the suit first!") playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return @@ -217,9 +217,8 @@ /// Finishes the suit's activation, starts processing /obj/item/mod/control/proc/finish_activation(on) - icon_state = "[skin]-control[on ? "-sealed" : ""]" - slowdown = on ? slowdown_active : slowdown_inactive - if(on) + active = on + if(active) for(var/obj/item/mod/module/module as anything in modules) module.on_suit_activation() START_PROCESSING(SSobj, src) @@ -227,19 +226,23 @@ for(var/obj/item/mod/module/module as anything in modules) module.on_suit_deactivation() STOP_PROCESSING(SSobj, src) - wearer.update_equipment_speed_mods() - active = on + update_speed() + update_icon_state() wearer.update_inv_back() +/obj/item/mod/control/update_icon_state() + icon_state = "[skin]-control[active ? "-sealed" : ""]" + return ..() + /// Quickly deploys all the suit parts and if successful, seals them and turns on the suit. Intended mostly for outfits. /obj/item/mod/control/proc/quick_activation() var/seal = TRUE - for(var/obj/item/part in mod_parts) + for(var/obj/item/part as anything in mod_parts) if(!deploy(null, part)) seal = FALSE if(!seal) return - for(var/obj/item/part in mod_parts) + for(var/obj/item/part as anything in mod_parts) seal_part(part, seal = TRUE) finish_activation(on = TRUE) diff --git a/code/modules/mod/mod_clothes.dm b/code/modules/mod/mod_clothes.dm index a7e4c0cb1d..b5d2d6a883 100644 --- a/code/modules/mod/mod_clothes.dm +++ b/code/modules/mod/mod_clothes.dm @@ -1,4 +1,4 @@ -/obj/item/clothing/head/helmet/space/mod +/obj/item/clothing/head/mod name = "MOD helmet" desc = "A helmet for a MODsuit." icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' @@ -12,27 +12,27 @@ cold_protection = HEAD max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT - clothing_flags = THICKMATERIAL + clothing_flags = THICKMATERIAL|ALLOWINTERNALS resistance_flags = NONE flash_protect = 0 - clothing_flags = NONE flags_inv = HIDEFACIALHAIR flags_cover = NONE visor_flags = THICKMATERIAL|STOPSPRESSUREDAMAGE visor_flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT visor_flags_cover = HEADCOVERSMOUTH|HEADCOVERSEYES + item_flags = IMMUTABLE_SLOW var/alternate_layer = NECK_LAYER var/obj/item/mod/control/mod mutantrace_variation = STYLE_MUZZLE -/obj/item/clothing/head/helmet/space/mod/Destroy() +/obj/item/clothing/head/mod/Destroy() if(!QDELETED(mod)) mod.helmet = null mod.mod_parts -= src QDEL_NULL(mod) return ..() -/obj/item/clothing/suit/space/mod +/obj/item/clothing/suit/mod name = "MOD chestplate" desc = "A chestplate for a MODsuit." icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' @@ -51,12 +51,13 @@ flags_inv = HIDETAUR visor_flags = STOPSPRESSUREDAMAGE visor_flags_inv = HIDEJUMPSUIT + item_flags = IMMUTABLE_SLOW allowed = list(/obj/item/flashlight, /obj/item/tank/internals) resistance_flags = NONE var/obj/item/mod/control/mod mutantrace_variation = STYLE_DIGITIGRADE -/obj/item/clothing/suit/space/mod/Destroy() +/obj/item/clothing/suit/mod/Destroy() if(!QDELETED(mod)) mod.chestplate = null mod.mod_parts -= src @@ -78,6 +79,7 @@ min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT clothing_flags = THICKMATERIAL resistance_flags = NONE + item_flags = IMMUTABLE_SLOW var/obj/item/mod/control/mod var/obj/item/clothing/overslot mutantrace_variation = STYLE_NO_ANTHRO_ICON @@ -114,7 +116,7 @@ min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT clothing_flags = THICKMATERIAL resistance_flags = NONE - item_flags = NONE + item_flags = IMMUTABLE_SLOW var/obj/item/mod/control/mod var/obj/item/clothing/overslot mutantrace_variation = STYLE_DIGITIGRADE diff --git a/code/modules/mod/mod_construction.dm b/code/modules/mod/mod_construction.dm index 11eef7cb11..4558f9fbfc 100644 --- a/code/modules/mod/mod_construction.dm +++ b/code/modules/mod/mod_construction.dm @@ -7,14 +7,26 @@ name = "MOD helmet" icon_state = "helmet" +/obj/item/mod/construction/helmet/examine(mob/user) + . = ..() + . += span_notice("You could insert it into a MOD shell...") + /obj/item/mod/construction/chestplate name = "MOD chestplate" icon_state = "chestplate" +/obj/item/mod/construction/chestplate/examine(mob/user) + . = ..() + . += span_notice("You could insert it into a MOD shell...") + /obj/item/mod/construction/gauntlets name = "MOD gauntlets" icon_state = "gauntlets" +/obj/item/mod/construction/gauntlets/examine(mob/user) + . = ..() + . += span_notice("You could insert these into a MOD shell...") + /obj/item/mod/construction/boots name = "MOD boots" icon_state = "boots" @@ -45,15 +57,15 @@ qdel(src) /obj/item/mod/construction/armor - name = "MOD armor plates" - desc = "Armor plates used to finish a MOD." + name = "MOD external plating" + desc = "External plating used to finish a MOD control unit." icon_state = "standard-plating" var/datum/mod_theme/theme = /datum/mod_theme /obj/item/mod/construction/armor/Initialize(mapload) . = ..() var/datum/mod_theme/used_theme = GLOB.mod_themes[theme] - name = "MOD [used_theme.name] armor plates" + name = "MOD [used_theme.name] external plating" desc = "[desc] [used_theme.desc]" icon_state = "[used_theme.default_skin]-plating" diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm index 03361fdaef..8e003dde7f 100644 --- a/code/modules/mod/mod_control.dm +++ b/code/modules/mod/mod_control.dm @@ -16,7 +16,6 @@ w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK strip_delay = 10 SECONDS - slowdown = 2 armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 25, ACID = 25, WOUND = 10, RAD = 0) actions_types = list( /datum/action/item_action/mod/deploy, @@ -62,14 +61,16 @@ var/slowdown_inactive = 2 /// Slowdown of the MOD when active. var/slowdown_active = 1 + /// Extended description of the theme. + var/extended_desc /// How long this MOD takes each part to seal. var/activation_step_time = MOD_ACTIVATION_STEP_TIME /// MOD cell. var/obj/item/stock_parts/cell/cell /// MOD helmet. - var/obj/item/clothing/head/helmet/space/mod/helmet + var/obj/item/clothing/head/mod/helmet /// MOD chestplate. - var/obj/item/clothing/suit/space/mod/chestplate + var/obj/item/clothing/suit/mod/chestplate /// MOD gauntlets. var/obj/item/clothing/gloves/mod/gauntlets /// MOD boots. @@ -96,9 +97,9 @@ if(new_theme) theme = new_theme theme = GLOB.mod_themes[theme] + extended_desc = theme.extended_desc slowdown_inactive = theme.slowdown_inactive slowdown_active = theme.slowdown_active - slowdown = slowdown_inactive complexity_max = theme.complexity_max skin = new_skin || theme.default_skin ui_theme = theme.ui_theme @@ -107,10 +108,10 @@ wires = new /datum/wires/mod(src) if(ispath(cell)) cell = new cell(src) - helmet = new /obj/item/clothing/head/helmet/space/mod(src) + helmet = new /obj/item/clothing/head/mod(src) helmet.mod = src mod_parts += helmet - chestplate = new /obj/item/clothing/suit/space/mod(src) + chestplate = new /obj/item/clothing/suit/mod(src) chestplate.mod = src mod_parts += chestplate gauntlets = new /obj/item/clothing/gloves/mod(src) @@ -134,6 +135,7 @@ piece.icon_state = "[skin]-[initial(piece.icon_state)]" piece.item_state = "[skin]-[initial(piece.item_state)]" update_flags() + update_speed() for(var/obj/item/mod/module/module as anything in initial_modules) module = new module(src) install(module) @@ -176,6 +178,10 @@ QDEL_NULL(cell) return ..() +/obj/item/mod/control/examine_more(mob/user) + . = ..() + . += extended_desc + /obj/item/mod/control/process(delta_time) if(seconds_electrified > MACHINE_NOT_ELECTRIFIED) seconds_electrified-- @@ -543,6 +549,11 @@ else wearer.throw_alert("mod_charge", /atom/movable/screen/alert/emptycell) +/obj/item/mod/control/proc/update_speed() + for(var/obj/item/part as anything in mod_parts) + part.slowdown = (active ? slowdown_active : slowdown_inactive) / length(mod_parts) + wearer?.update_equipment_speed_mods() + /obj/item/mod/control/proc/power_off() balloon_alert(wearer, "no power!") toggle_activate(wearer, force_deactivate = TRUE) diff --git a/code/modules/mod/mod_theme.dm b/code/modules/mod/mod_theme.dm index 050badf5d9..fe949449d2 100644 --- a/code/modules/mod/mod_theme.dm +++ b/code/modules/mod/mod_theme.dm @@ -11,6 +11,12 @@ var/name = "standard" /// Description added to the MOD. var/desc = "A civilian class suit by Nakamura Engineering, doesn't offer much other than slightly quicker movement." + /// Extended description on examine_more + var/extended_desc = "A third-generation, modular civilian class suit by Nakamura Engineering, \ + this suit is a staple across the galaxy for civilian applications. These suits are oxygenated, \ + spaceworthy, resistant to fire and chemical threats, and are immunized against everything between \ + a sneeze and a bioweapon. However, their combat applications are incredibly minimal due to no \ + armor plating being installed by default, and their actuators only lead to slightly greater speed than normal." /// Default skin of the MOD. var/default_skin = "standard" /// Armor shared across the MOD pieces. @@ -35,6 +41,8 @@ var/slowdown_active = 0.75 /// Theme used by the MOD TGUI. var/ui_theme = "ntos" + /// Allowed items in the chestplate's suit storage. + var/list/allowed = list(/obj/item/flashlight, /obj/item/tank/internals) /// List of inbuilt modules. These are different from the pre-equipped suits, you should mainly use these for unremovable modules with 0 complexity. var/list/inbuilt_modules = list() /// Modules blacklisted from the MOD. @@ -45,7 +53,7 @@ HELMET_LAYER = NECK_LAYER, HELMET_FLAGS = list( UNSEALED_CLOTHING = NONE, - SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, @@ -68,7 +76,7 @@ HELMET_LAYER = null, HELMET_FLAGS = list( UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, ), @@ -91,6 +99,11 @@ /datum/mod_theme/engineering name = "engineering" desc = "An engineer-fit suit with heat and shock resistance. Nakamura Engineering's classic." + extended_desc = "A classic by Nakamura Engineering, and surely their claim to fame. This model is an \ + improvement upon the first-generation prototype models from before the Void War, boasting an array of features. \ + The modular flexibility of the base design has been combined with an blast-dampening insulated inner layer and \ + a shock-resistant outer layer, making the suit nigh-invulnerable against even the extremes of high-voltage electricity. \ + However, the capacity for modification remains the same as civilian-grade suits." default_skin = "engineering" armor = list(MELEE = 10, BULLET = 5, LASER = 20, ENERGY = 10, BOMB = 10, BIO = 100, FIRE = 100, ACID = 25, WOUND = 10, RAD = 20) resistance_flags = FIRE_PROOF @@ -103,7 +116,7 @@ HELMET_LAYER = NECK_LAYER, HELMET_FLAGS = list( UNSEALED_CLOTHING = NONE, - SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, @@ -127,6 +140,11 @@ /datum/mod_theme/atmospheric name = "atmospheric" desc = "An atmospheric-resistant suit by Nakamura Engineering, offering extreme heat resistance compared to the engineer suit." + extended_desc = "A modified version of the Nakamura Engineering industrial model. This one has been \ + augmented with the latest in heat-resistant alloys, paired with a series of advanced heatsinks. \ + Additionally, the materials used to construct this suit have rendered it extremely hardy against \ + corrosive gasses and liquids, useful in the world of pipes. \ + However, the capacity for modification remains the same as civilian-grade suits." default_skin = "atmospheric" armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 15, BOMB = 10, BIO = 100, FIRE = 100, ACID = 75, WOUND = 10, RAD = 0) resistance_flags = FIRE_PROOF @@ -138,7 +156,7 @@ HELMET_LAYER = NECK_LAYER, HELMET_FLAGS = list( UNSEALED_CLOTHING = NONE, - SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDESNOUT, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR, UNSEALED_COVER = HEADCOVERSMOUTH, @@ -163,6 +181,11 @@ /datum/mod_theme/advanced name = "advanced" desc = "An advanced version of Nakamura Engineering's classic suit, shining with a white, acid and fire resistant polish." + extended_desc = "The flagship version of the Nakamura Engineering industrial model, and their latest product. \ + Combining all the features of their other industrial model suits inside, with blast resistance almost approaching \ + some EOD suits, the outside has been coated with a white polish rumored to be a corporate secret. \ + The paint used is almost entirely immune to corrosives, and certainly looks damn fine. \ + These come pre-installed with magnetic boots, using an advanced system to toggle them on or off as the user walks." default_skin = "advanced" armor = list(MELEE = 15, BULLET = 5, LASER = 20, ENERGY = 15, BOMB = 50, BIO = 100, FIRE = 100, ACID = 90, WOUND = 10, RAD = 35) resistance_flags = FIRE_PROOF @@ -176,7 +199,7 @@ HELMET_LAYER = NECK_LAYER, HELMET_FLAGS = list( UNSEALED_CLOTHING = NONE, - SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, @@ -200,6 +223,13 @@ /datum/mod_theme/mining name = "mining" desc = "A high-power Nanotrasen mining suit, supporting more complexity at a bigger drain." + extended_desc = "A high-powered Nanotrasen-designed suit, based off the work of Nakamura Engineering. \ + While initial designs were built for the rigors of asteroid mining, given blast resistance through inbuilt ceramics, \ + mining teams have since heavily tweaked the suit themselves. Aftermarket armor plating has been added, \ + giving way to incredible protection against corrosives and thermal protection good enough for volcanic environments. \ + The systems have been upgraded as well, giving space for further modification down the line. \ + However, all of this has proven to be straining on the cell and the actuators of the suit, \ + making it demand more power in exchange." default_skin = "mining" armor = list(MELEE = 15, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 30, BIO = 100, FIRE = 100, ACID = 75, WOUND = 15, RAD = 0) resistance_flags = FIRE_PROOF @@ -211,7 +241,7 @@ HELMET_LAYER = null, HELMET_FLAGS = list( UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, @@ -235,6 +265,12 @@ /datum/mod_theme/medical name = "medical" desc = "A lightweight suit by DeForest Medical Corporation, allows for easier movement." + extended_desc = "A lightweight suit produced by the DeForest Medical Corporation, based off the work of \ + Nakamura Engineering. The latest in technology has been employed in this suit to render it immunized against \ + allergens, airborne toxins, and regular pathogens. The primary asset of this suit is the speed, \ + fusing high-powered servos and actuators with a carbon-fiber construction. While there's very little armor used, \ + it is incredibly acid-resistant. It is slightly more demanding of power than civilian-grade models, \ + and weak against fingers tapping the glass." default_skin = "medical" armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 10, BIO = 100, FIRE = 60, ACID = 75, WOUND = 5, RAD = 0) cell_drain = DEFAULT_CHARGE_DRAIN * 1.5 @@ -245,7 +281,7 @@ HELMET_LAYER = NECK_LAYER, HELMET_FLAGS = list( UNSEALED_CLOTHING = NONE, - SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, @@ -268,7 +304,7 @@ HELMET_LAYER = NECK_LAYER, HELMET_FLAGS = list( UNSEALED_CLOTHING = NONE, - SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, @@ -292,6 +328,12 @@ /datum/mod_theme/rescue name = "rescue" desc = "An advanced version of DeForest Medical Corporation's medical suit, designed for quick rescue of bodies from the most dangerous environments." + extended_desc = "An upgraded, armor-plated version of DeForest Medical Corporation's medical suit, \ + designed for quick rescue of bodies from the most dangerous environments. The same advanced leg servos \ + as the base version are seen here, giving paramedics incredible speed, but the same servos are also in the arms. \ + Users are capable of quickly hauling even the heaviest crewmembers using this suit, \ + all while being entirely immune against chemical and thermal threats. \ + It is slightly more demanding of power than civilian-grade models, and weak against fingers tapping the glass." default_skin = "rescue" armor = list(MELEE = 10, BULLET = 10, LASER = 5, ENERGY = 5, BOMB = 10, BIO = 100, FIRE = 100, ACID = 100, WOUND = 5, RAD = 0) resistance_flags = FIRE_PROOF|ACID_PROOF @@ -305,7 +347,7 @@ HELMET_LAYER = NECK_LAYER, HELMET_FLAGS = list( UNSEALED_CLOTHING = NONE, - SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, @@ -329,20 +371,28 @@ /datum/mod_theme/research name = "research" desc = "A private military EOD suit by Aussec Armory, intended for explosive research. Bulky, but expansive." + extended_desc = "A private military EOD suit by Aussec Armory, based off the work of Nakamura Engineering. \ + This suit is intended for explosive research, built incredibly bulky and well-covering. \ + Featuring an inbuilt chemical scanning array, this suit uses two layers of plastitanium armor, \ + sandwiching an inert layer to dissipate kinetic energy into the suit and away from the user; \ + outperforming even the best conventional EOD suits. However, despite its immunity against even \ + missiles and artillery, the armor is no more effective than standard suits against \ + other weapon types and physical damage; and all the explosive resistance mostly working to keep the user intact, \ + not alive. The user will also find narrow doorframes nigh-impossible to surmount." default_skin = "research" armor = list(MELEE = 20, BULLET = 15, LASER = 5, ENERGY = 5, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 15, RAD = 0) resistance_flags = FIRE_PROOF|ACID_PROOF max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT complexity_max = DEFAULT_MAX_COMPLEXITY + 5 - slowdown_inactive = 2 - slowdown_active = 1.5 + slowdown_inactive = 1.75 + slowdown_active = 1.25 inbuilt_modules = list(/obj/item/mod/module/reagent_scanner/advanced) skins = list( "research" = list( HELMET_LAYER = null, HELMET_FLAGS = list( UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, ), @@ -365,6 +415,14 @@ /datum/mod_theme/security name = "security" desc = "An Apadyne Technologies security suit, offering shock protection and quicker speed, at the cost of carrying capacity." + extended_desc = "An Apadyne Technologies classic, this model of MODsuit has been designed for quick response to \ + hostile situations. These suits have been layered with plating worthy enough for fires or corrosive environments, \ + and come with composite cushioning and an advanced honeycomb structure underneath the hull to ensure protection \ + against broken bones or possible avulsions. The suit's legs have been given more rugged actuators, \ + allowing the suit to do more work in carrying the weight. Lastly, these have been given a shock-absorbing \ + insulating layer on the gauntlets, making sure the user isn't under risk of electricity. \ + However, the systems used in these suits are more than a few years out of date, \ + leading to an overall lower capacity for modules." default_skin = "security" armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 25, BIO = 100, FIRE = 75, ACID = 75, WOUND = 15, RAD = 0) siemens_coefficient = 0 @@ -376,7 +434,7 @@ HELMET_LAYER = null, HELMET_FLAGS = list( UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE, UNSEALED_COVER = HEADCOVERSMOUTH, @@ -401,6 +459,12 @@ /datum/mod_theme/safeguard name = "safeguard" desc = "An Apadyne Technologies advanced security suit, offering greater speed and fire protection than the standard security model." + extended_desc = "An Apadyne Technologies advanced security suit, and their latest model. This variant has \ + ditched the presence of a reinforced glass visor entirely, replacing it with a 'blast visor' utilizing a \ + small camera on the left side to display the outside to the user. The plating on the suit has been \ + dramatically increased, especially in the pauldrons, giving the wearer an imposing silhouette. \ + Heatsinks line the sides of the suit, and greater technology has been used in insulating it against \ + both corrosive environments and sudden impacts to the user's joints." default_skin = "safeguard" armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 40, BIO = 100, FIRE = 100, ACID = 95, WOUND = 15, RAD = 0) resistance_flags = FIRE_PROOF @@ -414,7 +478,7 @@ HELMET_LAYER = null, HELMET_FLAGS = list( UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, ), @@ -437,6 +501,15 @@ /datum/mod_theme/magnate name = "magnate" desc = "A fancy, very protective suit for Nanotrasen's captains. Shock, fire and acid-proof while also having a large capacity and high speed." + extended_desc = "They say it costs four hundred thousand credits to run this MODsuit... for twelve seconds. \ + The Magnate suit is designed for protection, comfort, and luxury for Nanotrasen Captains. \ + The onboard air filters have been preprogrammed with an additional five hundred different fragrances that can \ + be pumped into the helmet, all of highly-endangered flowers. A bespoke Tralex mechanical clock has been placed \ + in the wrist, and the Magnate package comes with carbon-fibre cufflinks to wear underneath. \ + My God, it even has a granite trim. The double-classified paint that's been painstakingly applied to the hull \ + provides protection against shock, fire, and the strongest acids. Onboard systems employ meta-positronic learning \ + and bluespace processing to allow for a wide array of onboard modules to be supported, and only the best actuators \ + have been employed for speed. The resemblance to a Gorlex Marauder helmet is purely coincidental." default_skin = "magnate" armor = list(MELEE = 20, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 50, BIO = 100, FIRE = 100, ACID = 100, WOUND = 15, RAD = 0) resistance_flags = FIRE_PROOF|ACID_PROOF @@ -450,7 +523,7 @@ HELMET_LAYER = NECK_LAYER, HELMET_FLAGS = list( UNSEALED_CLOTHING = NONE, - SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, @@ -474,17 +547,23 @@ /datum/mod_theme/cosmohonk name = "cosmohonk" desc = "A suit by Honk Ltd. Protects against low humor environments. Most of the tech went to lower the power cost." + extended_desc = "The Cosmohonk MODsuit was originally designed for interstellar comedy in low-humor environments. \ + It utilizes tungsten electro-ceramic casing and chromium bipolars, coated in zirconium-boron paint underneath \ + a dermatiraelian subspace alloy. Despite the glaringly obvious optronic vacuum drive pedals, \ + this particular model does not employ manganese bipolar capacitor cleaners, thank the Honkmother. \ + All you know is that this suit is mysteriously power-efficient, and far too colorful for the Mime to steal." default_skin = "cosmohonk" armor = list(MELEE = 5, BULLET = 5, LASER = 20, ENERGY = 20, BOMB = 10, BIO = 100, FIRE = 60, ACID = 30, WOUND = 5, RAD = 0) cell_drain = DEFAULT_CHARGE_DRAIN * 0.25 slowdown_inactive = 1.75 slowdown_active = 1.25 + /*inbuilt_modules = list(/obj/item/mod/module/waddle)*/ // Waddling element not ported, commented for now as it is a prerequisite. skins = list( "cosmohonk" = list( HELMET_LAYER = NECK_LAYER, HELMET_FLAGS = list( UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEEARS|HIDEHAIR, SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEYES|HIDEFACE|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, @@ -508,6 +587,13 @@ /datum/mod_theme/syndicate name = "syndicate" desc = "A suit designed by Gorlex Marauders, offering armor ruled illegal in most of Spinward Stellar." + extended_desc = "An advanced combat suit adorned in a sinister crimson red color scheme, produced and manufactured \ + for special mercenary operations. The build is a streamlined layering consisting of shaped Plasteel, \ + and composite ceramic, while the under suit is lined with a lightweight Kevlar and durathread hybrid weave \ + to provide ample protection to the user where the plating doesn't, with an illegal onboard cell powered \ + ablative shield module to provide resistance against conventional energy firearms. \ + A small tag hangs off of it reading; 'Property of the Gorlex Marauders, with assistance from Cybersun Industries. \ + All rights reserved, tampering with suit will void warranty." default_skin = "syndicate" armor = list(MELEE = 15, BULLET = 20, LASER = 15, ENERGY = 15, BOMB = 35, BIO = 100, FIRE = 50, ACID = 90, WOUND = 25, RAD = 0) max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT @@ -521,7 +607,7 @@ HELMET_LAYER = NECK_LAYER, HELMET_FLAGS = list( UNSEALED_CLOTHING = NONE, - SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, @@ -545,6 +631,12 @@ /datum/mod_theme/elite name = "elite" desc = "An elite suit upgraded by Cybersun Industries, offering upgraded armor values." + extended_desc = "An evolution of the syndicate suit, featuring a bulkier build and a matte black color scheme, \ + this suit is only produced for high ranking Syndicate officers and elite strike teams. \ + It comes built with a secondary layering of ceramic and Kevlar into the plating providing it with \ + exceptionally better protection along with fire and acid proofing. A small tag hangs off of it reading; \ + 'Property of the Gorlex Marauders, with assistance from Cybersun Industries. \ + All rights reserved, tampering with suit will void life expectancy.'" default_skin = "elite" armor = list(MELEE = 35, BULLET = 30, LASER = 35, ENERGY = 35, BOMB = 55, BIO = 100, FIRE = 100, ACID = 100, WOUND = 25, RAD = 0) resistance_flags = FIRE_PROOF|ACID_PROOF @@ -559,7 +651,7 @@ HELMET_LAYER = null, HELMET_FLAGS = list( UNSEALED_CLOTHING = NONE, - SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, @@ -583,6 +675,13 @@ /datum/mod_theme/enchanted name = "enchanted" desc = "The Wizard Federation's relatively low-tech MODsuit. Is very protective, though." + extended_desc = "The Wizard Federation's relatively low-tech MODsuit. This armor employs not \ + plasteel or carbon fibre, but space dragon scales for its protection. Recruits are expected to \ + gather these themselves, but the effort is well worth it, the suit being well-armored against threats \ + both mundane and mystic. Rather than wholly relying on the suit's cell, which would surely perish \ + under the load, several naturally-occurring bluespace gemstones have been utilized as \ + supplementary means of power. The hood and platform boots are of unknown usage, but it's speculated that \ + wizards trend towards the dramatic." default_skin = "enchanted" armor = list(MELEE = 40, BULLET = 40, LASER = 50, ENERGY = 50, BOMB = 35, BIO = 100, FIRE = 100, ACID = 100, WOUND = 30, RAD = 0) resistance_flags = FIRE_PROOF|ACID_PROOF @@ -598,7 +697,7 @@ HELMET_LAYER = null, HELMET_FLAGS = list( UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, ), @@ -621,12 +720,22 @@ /datum/mod_theme/prototype name = "prototype" desc = "A prototype modular suit powered by locomotives. While it is comfortable and has a big capacity, it remains very bulky and power-inefficient." + extended_desc = "This is a prototype powered exoskeleton, a design not seen in hundreds of years, the first \ + post-void war era modular suit to ever be safely utilized by an operator. This ancient clunker is still functional, \ + though it's missing several modern-day luxuries from updated Nakamura Engineering designs. \ + Primarily, the suit's myoelectric suit layer is entirely non-existant, and the servos do very little to \ + help distribute the weight evenly across the wearer's body, making it slow and bulky to move in. \ + Additionally, the armor plating never finished production aside from the shoulders, forearms, and helmet; \ + making it useless against direct attacks. The internal heads-up display is rendered in nearly unreadable cyan, \ + as the visor suggests, leaving the user unable to see long distances. \ + However, the way the helmet retracts is pretty cool." default_skin = "prototype" armor = list(MELEE = 20, BULLET = 5, LASER = 10, ENERGY = 10, BOMB = 50, BIO = 100, FIRE = 100, ACID = 75, WOUND = 5, RAD = 0) resistance_flags = FIRE_PROOF - complexity_max = DEFAULT_MAX_COMPLEXITY + 10 - slowdown_inactive = 2.5 - slowdown_active = 2 + complexity_max = DEFAULT_MAX_COMPLEXITY + 5 + cell_drain = DEFAULT_CHARGE_DRAIN * 2 + slowdown_inactive = 2 + slowdown_active = 1.5 ui_theme = "hackerman" inbuilt_modules = list(/obj/item/mod/module/kinesis) skins = list( @@ -634,7 +743,7 @@ HELMET_LAYER = null, HELMET_FLAGS = list( UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, ), @@ -657,6 +766,11 @@ /datum/mod_theme/responsory name = "responsory" desc = "A high-speed rescue suit by Nanotrasen, intended for its' emergency response teams." + extended_desc = "A streamlined suit of Nanotrasen design, these sleek black suits are only worn by \ + elite emergency response personnel to help save the day. While the slim and nimble design of the suit \ + cuts the ceramics and ablatives in it down, dropping the protection, \ + it keeps the wearer safe from the harsh void of space while sacrificing no speed whatsoever. \ + While wearing it you feel an extreme deference to darkness. " default_skin = "responsory" armor = list(MELEE = 50, BULLET = 40, LASER = 50, ENERGY = 50, BOMB = 50, BIO = 100, FIRE = 100, ACID = 90, WOUND = 10, RAD = 0) resistance_flags = FIRE_PROOF @@ -669,7 +783,7 @@ HELMET_LAYER = NECK_LAYER, HELMET_FLAGS = list( UNSEALED_CLOTHING = NONE, - SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, @@ -692,7 +806,7 @@ HELMET_LAYER = null, HELMET_FLAGS = list( UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, ), @@ -715,6 +829,12 @@ /datum/mod_theme/apocryphal name = "apocryphal" desc = "A high-tech, only technically legal, armored suit created by a collaboration effort between Nanotrasen and Apadyne Technologies." + extended_desc = "A bulky and only legal by technicality suit, this ominous black and red MODsuit is only worn by \ + Nanotrasen Black Ops teams. If you can see this suit, you fucked up. A collaborative joint effort between \ + Apadyne and Nanotrasen the construction and modules gives the user robust protection against \ + anything that can be thrown at it, along with acute combat awareness tools for it's wearer. \ + Whether the wearer uses it or not is up to them. \ + There seems to be a little inscription on the wrist that reads; \'squiddie', d'aww." default_skin = "apocryphal" armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 25, RAD = 0) resistance_flags = FIRE_PROOF|ACID_PROOF @@ -726,7 +846,7 @@ HELMET_LAYER = null, HELMET_FLAGS = list( UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEEARS|HIDEHAIR, SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEYES|HIDEFACE|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, @@ -750,6 +870,11 @@ /datum/mod_theme/corporate name = "corporate" desc = "A fancy, high-tech suit for Nanotrasen's high ranking officers." + extended_desc = "An even more costly version of the Magnate model, the corporate suit is a thermally insulated, \ + anti-corrosion coated suit for high-ranking CentCom Officers, deploying pristine protective armor and \ + advanced actuators, feeling practically weightless when turned on. Scraping the paint of this suit is \ + counted as a war-crime and reason for immediate execution in over fifty Nanotrasen space stations. \ + The resemblance to a Gorlex Marauder helmet is purely coincidental." default_skin = "corporate" armor = list(MELEE = 50, BULLET = 40, LASER = 50, ENERGY = 50, BOMB = 50, BIO = 100, FIRE = 100, ACID = 100, WOUND = 15, RAD = 0) resistance_flags = FIRE_PROOF|ACID_PROOF @@ -762,7 +887,7 @@ HELMET_LAYER = null, HELMET_FLAGS = list( UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, @@ -786,6 +911,9 @@ /datum/mod_theme/debug name = "debug" desc = "Strangely nostalgic." + extended_desc = "An advanced suit that has dual ion engines powerful enough to grant a humanoid flight. \ + Contains an internal self-recharging high-current capacitor for short, powerful bo- \ + Oh wait, this is not actually a flight suit. Fuck." default_skin = "debug" armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 0, RAD = 25) resistance_flags = FIRE_PROOF|ACID_PROOF @@ -798,7 +926,7 @@ HELMET_LAYER = null, HELMET_FLAGS = list( UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE|ALLOWINTERNALS|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE, UNSEALED_COVER = HEADCOVERSMOUTH, @@ -823,6 +951,10 @@ /datum/mod_theme/administrative name = "administrative" desc = "A suit made of adminium. Who comes up with these stupid mineral names?" + extended_desc = "Yeah, okay, I guess you can call that an event. What I consider an event is something actually \ + fun and engaging for the players- instead, most were sitting out, dead or gibbed, while the lucky few got to \ + have all the fun. If this continues to be a pattern for your \"events\" (Admin Abuse) \ + there will be an admin complaint. You have been warned." default_skin = "debug" armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 100, RAD = 100) resistance_flags = INDESTRUCTIBLE|LAVA_PROOF|FIRE_PROOF|UNACIDABLE|ACID_PROOF @@ -835,7 +967,7 @@ "debug" = list( HELMET_LAYER = null, HELMET_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + UNSEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|ALLOWINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE, UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, diff --git a/code/modules/mod/mod_types.dm b/code/modules/mod/mod_types.dm index 565dcdc2f8..a1492750af 100644 --- a/code/modules/mod/mod_types.dm +++ b/code/modules/mod/mod_types.dm @@ -72,6 +72,7 @@ /obj/item/mod/module/storage, /obj/item/mod/module/flashlight, /obj/item/mod/module/health_analyzer, + /*/obj/item/mod/module/injector,*/ //Injector module unported as of now. ) /obj/item/mod/control/pre_equipped/research @@ -172,31 +173,41 @@ /obj/item/mod/module/holster, ) var/insignia_type = /obj/item/mod/module/insignia + var/additional_module /obj/item/mod/control/pre_equipped/responsory/Initialize(mapload, new_theme, new_skin) initial_modules.Insert(1, insignia_type) + if(additional_module) + initial_modules.Add(additional_module) return ..() /obj/item/mod/control/pre_equipped/responsory/commander insignia_type = /obj/item/mod/module/insignia/commander + additional_module = /obj/item/mod/module/noslip /obj/item/mod/control/pre_equipped/responsory/security insignia_type = /obj/item/mod/module/insignia/security + additional_module = /obj/item/mod/module/gps /obj/item/mod/control/pre_equipped/responsory/engineer insignia_type = /obj/item/mod/module/insignia/engineer + additional_module = /obj/item/mod/module/rad_protection /obj/item/mod/control/pre_equipped/responsory/medic insignia_type = /obj/item/mod/module/insignia/medic + additional_module = /obj/item/mod/module/quick_carry /obj/item/mod/control/pre_equipped/responsory/janitor insignia_type = /obj/item/mod/module/insignia/janitor + additional_module = /obj/item/mod/module/clamp /obj/item/mod/control/pre_equipped/responsory/clown insignia_type = /obj/item/mod/module/insignia/clown + additional_module = /obj/item/mod/module/bikehorn /obj/item/mod/control/pre_equipped/responsory/chaplain insignia_type = /obj/item/mod/module/insignia/chaplain + /*additional_module = /obj/item/mod/module/injector*/ //Injector module unported as of now. /obj/item/mod/control/pre_equipped/responsory/inquisitory initial_modules = list( @@ -211,15 +222,19 @@ /obj/item/mod/control/pre_equipped/responsory/inquisitory/commander insignia_type = /obj/item/mod/module/insignia/commander + additional_module = /obj/item/mod/module/noslip /obj/item/mod/control/pre_equipped/responsory/inquisitory/security insignia_type = /obj/item/mod/module/insignia/security + additional_module = /obj/item/mod/module/gps /obj/item/mod/control/pre_equipped/responsory/inquisitory/medic insignia_type = /obj/item/mod/module/insignia/medic + additional_module = /obj/item/mod/module/quick_carry /obj/item/mod/control/pre_equipped/responsory/inquisitory/chaplain insignia_type = /obj/item/mod/module/insignia/chaplain + /*additional_module = /obj/item/mod/module/injector*/ //Injector module unported as of now. /obj/item/mod/control/pre_equipped/apocryphal theme = /datum/mod_theme/apocryphal @@ -250,6 +265,7 @@ /obj/item/mod/module/bikehorn, /obj/item/mod/module/rad_protection, /obj/item/mod/module/tether, + /*/obj/item/mod/module/injector,*/ //Injector module unported as of now. ) //one of every type of module, for testing if they all work correctly /obj/item/mod/control/pre_equipped/administrative diff --git a/code/modules/mod/modules/modules.dm b/code/modules/mod/modules/modules.dm index 0e0da3572b..2d0ee4a3e1 100644 --- a/code/modules/mod/modules/modules.dm +++ b/code/modules/mod/modules/modules.dm @@ -1,3 +1,15 @@ +//Magic Nullifier +/obj/item/mod/module/anti_magic + name = "MOD magic nullifier module" + desc = "A series of obsidian rods installed into critical points around the suit, \ + vibrated at a certain low frequency to enable them to resonate. \ + This creates a low-range, yet strong, magic nullification field around the user, \ + aided by a full replacement of the suit's normal coolant with holy water. \ + Spells will spall right off this field, though it'll do nothing to help others believe you about all this." + icon_state = "magic_nullifier" + removable = FALSE + incompatible_modules = list(/obj/item/mod/module/anti_magic) + /obj/item/mod/module/anti_magic/on_suit_activation() ADD_TRAIT(mod.wearer, TRAIT_ANTIMAGIC, MOD_TRAIT) ADD_TRAIT(mod.wearer, TRAIT_HOLY, MOD_TRAIT) @@ -94,3 +106,21 @@ /obj/item/mod/module/insignia/chaplain color = "#f0a00c" + +/obj/item/mod/module/noslip + name = "MOD anti slip module" + desc = "These are a modified variant of standard magnetic boots, utilizing piezoelectric crystals on the soles. \ + The two plates on the bottom of the boots automatically extend and magnetize as the user steps; \ + a pull that's too weak to offer them the ability to affix to a hull, but just strong enough to \ + protect against the fact that you didn't read the wet floor sign. Honk Co. has come out numerous times \ + in protest of these modules being legal." + icon_state = "noslip" + complexity = 1 + idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.1 + incompatible_modules = list(/obj/item/mod/module/noslip) + +/obj/item/mod/module/noslip/on_suit_activation() + ADD_TRAIT(mod.wearer, TRAIT_NOSLIPWATER, MOD_TRAIT) + +/obj/item/mod/module/noslip/on_suit_deactivation() + REMOVE_TRAIT(mod.wearer, TRAIT_NOSLIPWATER, MOD_TRAIT) diff --git a/code/modules/mod/modules/modules_service.dm b/code/modules/mod/modules/modules_service.dm index 85ebfea132..3b220e3322 100644 --- a/code/modules/mod/modules/modules_service.dm +++ b/code/modules/mod/modules/modules_service.dm @@ -64,3 +64,33 @@ spark_effect_two.set_up(2, 1, microwave_target_loc) spark_effect_two.start() drain_power(use_power_cost) + +//Waddle + +//Waddling element not yet portee, commented out for now. +/* +/obj/item/mod/module/waddle + name = "MOD waddle module" + desc = "Some of the most primitive technology in use by HonkCo. This module works off an automatic intention system, \ + utilizing its sensitivity to the pilot's often-limited brainwaves to directly read their next step, \ + affecting the boots they're installed in. Employing a twin-linked gravitonic drive to create \ + miniaturized etheric blasts of space-time beneath the user's feet, this enables them to... \ + to waddle around, bouncing to and fro with a pep in their step." + icon_state = "waddle" + idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.2 + removable = FALSE + incompatible_modules = list(/obj/item/mod/module/waddle) + +/obj/item/mod/module/waddle/on_suit_activation() + mod.AddComponent(/datum/component/squeak, list('sound/effects/clownstep1.ogg'=1,'sound/effects/clownstep2.ogg'=1), 50, falloff_exponent = 20) //die off quick please + mod.wearer.AddElement(/datum/element/waddling) + if(is_clown_job(mod.wearer.mind?.assigned_role)) + SEND_SIGNAL(mod.wearer, COMSIG_ADD_MOOD_EVENT, "clownshoes", /datum/mood_event/clownshoes) + +/obj/item/mod/module/waddle/on_suit_deactivation() + qdel(mod.GetComponent(/datum/component/squeak)) + mod.wearer.RemoveElement(/datum/element/waddling) + if(is_clown_job(mod.wearer.mind?.assigned_role)) + SEND_SIGNAL(mod.wearer, COMSIG_CLEAR_MOOD_EVENT, "clownshoes") + +*/ diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index e2345a6384..267691be39 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -392,7 +392,7 @@ if(network_card) return network_card.get_signal(specific_action) else - return 0 + return FALSE /obj/item/modular_computer/proc/add_log(text) if(!get_ntnet_status()) @@ -454,7 +454,7 @@ var/obj/item/computer_hardware/H = all_components[h] component_names.Add(H.name) - var/choice = input(user, "Which component do you want to uninstall?", "Computer maintenance", null) as null|anything in sortList(component_names) + var/choice = input(user, "Which component do you want to uninstall?", "Computer maintenance", null) as null|anything in sort_list(component_names) if(!choice) return diff --git a/code/modules/modular_computers/computers/item/computer_power.dm b/code/modules/modular_computers/computers/item/computer_power.dm index f31c3c82cc..7c741507b5 100644 --- a/code/modules/modular_computers/computers/item/computer_power.dm +++ b/code/modules/modular_computers/computers/item/computer_power.dm @@ -24,7 +24,7 @@ var/obj/item/computer_hardware/battery/battery_module = all_components[MC_CELL] if(battery_module?.battery) return battery_module.battery.give(amount) - return 0 + return FALSE /obj/item/modular_computer/get_cell() var/obj/item/computer_hardware/battery/battery_module = all_components[MC_CELL] diff --git a/code/modules/modular_computers/computers/item/computer_ui.dm b/code/modules/modular_computers/computers/item/computer_ui.dm index 93324bffe8..f6aed4996b 100644 --- a/code/modules/modular_computers/computers/item/computer_ui.dm +++ b/code/modules/modular_computers/computers/item/computer_ui.dm @@ -170,7 +170,7 @@ active_program = P P.alert_pending = FALSE update_appearance() - return 1 + return TRUE if("PC_toggle_light") return toggle_flashlight() diff --git a/code/modules/modular_computers/file_system/program.dm b/code/modules/modular_computers/file_system/program.dm index dc0cdda5d1..264ee0bd2f 100644 --- a/code/modules/modular_computers/file_system/program.dm +++ b/code/modules/modular_computers/file_system/program.dm @@ -72,7 +72,7 @@ /datum/computer_file/program/proc/generate_network_log(text) if(computer) return computer.add_log(text) - return 0 + return FALSE /** *Runs when the device is used to attack an atom in non-combat mode. @@ -99,7 +99,7 @@ /datum/computer_file/program/proc/get_signal(specific_action = 0) if(computer) return computer.get_ntnet_status(specific_action) - return 0 + return FALSE // Called by Process() on device that runs us, once every tick. /datum/computer_file/program/proc/process_tick(delta_time) @@ -161,7 +161,7 @@ return computer.get_header_data() return list() -// This is performed on program startup. May be overridden to add extra logic. Remember to include ..() call. Return 1 on success, 0 on failure. +// This is performed on program startup. May be overridden to add extra logic. Remember to include ..() call. return TRUE on success, 0 on failure. // When implementing new program based device, use this to run the program. /datum/computer_file/program/proc/run_program(mob/living/user) if(can_run(user, 1)) @@ -198,7 +198,7 @@ if(card_holder) ID = card_holder.GetID() generate_network_log("Connection closed -- Program ID: [filename] User:[ID?"[ID.registered_name]":"None"]") - return 1 + return TRUE /datum/computer_file/program/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) diff --git a/code/modules/modular_computers/file_system/programs/alarm.dm b/code/modules/modular_computers/file_system/programs/alarm.dm index 80c0c4dfa8..88d52646ac 100644 --- a/code/modules/modular_computers/file_system/programs/alarm.dm +++ b/code/modules/modular_computers/file_system/programs/alarm.dm @@ -23,7 +23,7 @@ program_icon_state = "alert-green" ui_header = "alarm_green.gif" update_computer_icon() - return 1 + return TRUE /datum/computer_file/program/alarm_monitor/ui_data(mob/user) var/list/data = get_header_data() diff --git a/code/modules/modular_computers/file_system/programs/configurator.dm b/code/modules/modular_computers/file_system/programs/configurator.dm index cf5d950c0f..567ff436a6 100644 --- a/code/modules/modular_computers/file_system/programs/configurator.dm +++ b/code/modules/modular_computers/file_system/programs/configurator.dm @@ -27,7 +27,7 @@ // No computer connection, we can't get data from that. if(!movable) - return 0 + return FALSE var/list/data = get_header_data() diff --git a/code/modules/modular_computers/hardware/_hardware.dm b/code/modules/modular_computers/hardware/_hardware.dm index b1a44c4cc5..20995502ae 100644 --- a/code/modules/modular_computers/hardware/_hardware.dm +++ b/code/modules/modular_computers/hardware/_hardware.dm @@ -51,11 +51,11 @@ var/obj/item/stack/S = I if(obj_integrity == max_integrity) to_chat(user, span_warning("\The [src] doesn't seem to require repairs.")) - return 1 + return TRUE if(S.use(1)) to_chat(user, span_notice("You patch up \the [src] with a bit of \the [I].")) obj_integrity = min(obj_integrity + 10, max_integrity) - return 1 + return TRUE if(try_insert(I, user)) return TRUE diff --git a/code/modules/modular_computers/hardware/network_card.dm b/code/modules/modular_computers/hardware/network_card.dm index 074e158dbf..229b16c99d 100644 --- a/code/modules/modular_computers/hardware/network_card.dm +++ b/code/modules/modular_computers/hardware/network_card.dm @@ -34,16 +34,16 @@ // 0 - No signal, 1 - Low signal, 2 - High signal. 3 - Wired Connection /obj/item/computer_hardware/network_card/proc/get_signal(specific_action = 0) if(!holder) // Hardware is not installed in anything. No signal. How did this even get called? - return 0 + return FALSE if(!check_functionality()) - return 0 + return FALSE if(ethernet) // Computer is connected via wired connection. return 3 if(!SSnetworks.station_network || !SSnetworks.station_network.check_function(specific_action)) // NTNet is down and we are not connected via wired connection. No signal. - return 0 + return FALSE if(holder) @@ -53,12 +53,12 @@ if(long_range) return 2 else - return 1 + return TRUE if(long_range) // Computer is not on station, but it has upgraded network card. Low signal. - return 1 + return TRUE - return 0 // Computer is not on station and does not have upgraded network card. No signal. + return FALSE // Computer is not on station and does not have upgraded network card. No signal. /obj/item/computer_hardware/network_card/advanced diff --git a/code/modules/modular_computers/hardware/recharger.dm b/code/modules/modular_computers/hardware/recharger.dm index e8c479db47..8e9183ead2 100644 --- a/code/modules/modular_computers/hardware/recharger.dm +++ b/code/modules/modular_computers/hardware/recharger.dm @@ -95,5 +95,5 @@ charge_rate = 100000 /obj/item/computer_hardware/recharger/lambda/use_power(amount, charging=0) - return 1 + return TRUE diff --git a/code/modules/movespeed/_movespeed_modifier.dm b/code/modules/movespeed/_movespeed_modifier.dm index 5fc415b2b6..1dfea6ac1a 100644 --- a/code/modules/movespeed/_movespeed_modifier.dm +++ b/code/modules/movespeed/_movespeed_modifier.dm @@ -199,7 +199,7 @@ GLOBAL_LIST_EMPTY(movespeed_modification_cache) /mob/proc/get_config_multiplicative_speed(floating = FALSE) var/list/read = floating? GLOB.mob_config_movespeed_type_lookup_floating : GLOB.mob_config_movespeed_type_lookup if(!islist(read) || !read[type]) - return 0 + return FALSE else return read[type] diff --git a/code/modules/newscaster/newspaper.dm b/code/modules/newscaster/newspaper.dm index 0afb36a7e7..0142e84e26 100644 --- a/code/modules/newscaster/newspaper.dm +++ b/code/modules/newscaster/newspaper.dm @@ -113,17 +113,17 @@ /obj/item/newspaper/proc/notContent(list/L) if(!L.len) - return 0 + return FALSE for(var/i=L.len;i>0;i--) var/num = abs(L[i]) if(creationTime <= num) continue else if(L[i] > 0) - return 1 + return TRUE else - return 0 - return 0 + return FALSE + return FALSE /obj/item/newspaper/Topic(href, href_list) var/mob/living/U = usr diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm index f46d4bf029..d9f6607209 100644 --- a/code/modules/paperwork/contract.dm +++ b/code/modules/paperwork/contract.dm @@ -189,31 +189,31 @@ /obj/item/paper/contract/infernal/proc/attempt_signature(mob/living/carbon/human/user, blood = 0) if(!user.IsAdvancedToolUser() || !user.is_literate()) to_chat(user, "You don't know how to read or write.") - return 0 + return FALSE if(user.mind != target) to_chat(user, "Your signature simply slides off the sheet, it seems this contract is not meant for you to sign.") - return 0 + return FALSE if(user.mind.soulOwner == owner) to_chat(user, "This devil already owns your soul, you may not sell it to [owner.p_them()] again.") - return 0 + return FALSE if(signed) to_chat(user, "This contract has already been signed. It may not be signed again.") - return 0 + return FALSE if(!user.mind.hasSoul) to_chat(user, "You do not possess a soul.") - return 0 + return FALSE if(HAS_TRAIT(user, TRAIT_DUMB)) to_chat(user, "You quickly scrawl 'your name' on the contract.") signIncorrectly() - return 0 + return FALSE if (contractType == CONTRACT_REVIVE) to_chat(user, "You are already alive, this contract would do nothing.") - return 0 + return FALSE else to_chat(user, "You quickly scrawl your name on the contract") if(fulfillContract(target.current, blood)<=0) to_chat(user, "But it seemed to have no effect, perhaps even Hell itself cannot grant this boon?") - return 1 + return TRUE @@ -221,7 +221,7 @@ if (target == M.mind && M.stat == DEAD && M.mind.soulOwner == M.mind) if (cooldown) to_chat(user, "Give [M] a chance to think through the contract, don't rush [M.p_them()].") - return 0 + return FALSE cooldown = TRUE var/mob/living/carbon/human/H = M var/mob/dead/observer/ghost = H.get_ghost() diff --git a/code/modules/paperwork/ticketmachine.dm b/code/modules/paperwork/ticketmachine.dm index 68d52fad35..86cf6f8ff9 100644 --- a/code/modules/paperwork/ticketmachine.dm +++ b/code/modules/paperwork/ticketmachine.dm @@ -142,7 +142,7 @@ maptext_x = 10 if(100) maptext_x = 8 - maptext = "[current_number]" //Finally, apply the maptext + maptext = MAPTEXT("[current_number]") //Finally, apply the maptext /obj/machinery/ticket_machine/attackby(obj/item/I, mob/user, params) ..() @@ -182,11 +182,7 @@ playsound(src, 'sound/machines/terminal_insert_disc.ogg', 100, FALSE) ticket_number ++ to_chat(user, "You take a ticket from [src], looks like you're ticket number #[ticket_number]...") - var/obj/item/ticket_machine_ticket/theirticket = new /obj/item/ticket_machine_ticket(get_turf(src)) - theirticket.name = "Ticket #[ticket_number]" - theirticket.maptext = "[ticket_number]" - theirticket.saved_maptext = "[ticket_number]" - theirticket.ticket_number = ticket_number + var/obj/item/ticket_machine_ticket/theirticket = new /obj/item/ticket_machine_ticket(get_turf(src), ticket_number) theirticket.source = src theirticket.owner = user user.put_in_hands(theirticket) @@ -211,10 +207,25 @@ w_class = WEIGHT_CLASS_TINY resistance_flags = FLAMMABLE max_integrity = 50 + var/number var/saved_maptext = null var/mob/living/carbon/owner var/obj/machinery/ticket_machine/source - var/ticket_number + +/obj/item/ticket_machine_ticket/Initialize(mapload, num) + . = ..() + number = num + if(!isnull(num)) + name += " #[num]" + saved_maptext = MAPTEXT(num) + maptext = saved_maptext + +/obj/item/ticket_machine_ticket/examine(mob/user) + . = ..() + if(!isnull(number)) + . += span_notice("The ticket reads shimmering text that tells you that you are number [number] in queue.") + if(source) + . += span_notice("Below that, you can see that you are [number - source.current_number] spot\s away from being served.") /obj/item/ticket_machine_ticket/attack_hand(mob/user) . = ..() @@ -233,7 +244,7 @@ /obj/item/ticket_machine_ticket/Destroy() if(owner && source) source.ticket_holders -= owner - source.tickets[ticket_number] = null + source.tickets[number] = null owner = null source = null return ..() diff --git a/code/modules/point/point.dm b/code/modules/point/point.dm new file mode 100644 index 0000000000..cfadf391c5 --- /dev/null +++ b/code/modules/point/point.dm @@ -0,0 +1,110 @@ +#define POINT_TIME (2.5 SECONDS) + +/** + * Point at an atom + * + * Intended to enable and standardise the pointing animation for all atoms + * + * Not intended as a replacement for the mob verb + */ +/atom/movable/proc/point_at(atom/pointed_atom) + if(!isturf(loc)) + return + + if (pointed_atom in src) + create_point_bubble(pointed_atom) + return + + var/turf/tile = get_turf(pointed_atom) + if (!tile) + return + + var/turf/our_tile = get_turf(src) + var/obj/visual = new /obj/effect/temp_visual/point(our_tile, invisibility) + + animate(visual, pixel_x = (tile.x - our_tile.x) * world.icon_size + pointed_atom.pixel_x, pixel_y = (tile.y - our_tile.y) * world.icon_size + pointed_atom.pixel_y, time = 1.7, easing = EASE_OUT) + +/atom/movable/proc/create_point_bubble(atom/pointed_atom) + var/obj/effect/thought_bubble_effect = new + + var/mutable_appearance/thought_bubble = mutable_appearance( + 'icons/effects/effects.dmi', + "thought_bubble", + layer = POINT_LAYER, + appearance_flags = KEEP_APART, + ) + + var/mutable_appearance/pointed_atom_appearance = new(pointed_atom.appearance) + pointed_atom_appearance.blend_mode = BLEND_INSET_OVERLAY + pointed_atom_appearance.plane = thought_bubble.plane + pointed_atom_appearance.layer = FLOAT_LAYER + pointed_atom_appearance.pixel_x = 0 + pointed_atom_appearance.pixel_y = 0 + thought_bubble.overlays += pointed_atom_appearance + + var/hover_outline_index = pointed_atom.get_filter_index(HOVER_OUTLINE_FILTER) + if (!isnull(hover_outline_index)) + pointed_atom_appearance.filters.Cut(hover_outline_index, hover_outline_index + 1) + + thought_bubble.pixel_x = 16 + thought_bubble.pixel_y = 32 + thought_bubble.alpha = 200 + thought_bubble.mouse_opacity = MOUSE_OPACITY_TRANSPARENT + + var/mutable_appearance/point_visual = mutable_appearance( + 'icons/mob/screen_gen.dmi', + "arrow", + plane = thought_bubble.plane, + ) + + thought_bubble.overlays += point_visual + + // vis_contents is used to preserve mouse opacity + thought_bubble_effect.appearance = thought_bubble + vis_contents += thought_bubble_effect + + QDEL_IN(thought_bubble_effect, POINT_TIME) + +/obj/effect/temp_visual/point + name = "pointer" + icon = 'icons/mob/screen_gen.dmi' + icon_state = "arrow" + layer = POINT_LAYER + duration = POINT_TIME + +/obj/effect/temp_visual/point/Initialize(mapload, set_invis = 0) + . = ..() + var/atom/old_loc = loc + abstract_move(get_turf(src)) + pixel_x = old_loc.pixel_x + pixel_y = old_loc.pixel_y + invisibility = set_invis + +#undef POINT_TIME + +/** + * Point at an atom + * + * mob verbs are faster than object verbs. See + * [this byond forum post](https://secure.byond.com/forum/?post=1326139&page=2#comment8198716) + * for why this isn't atom/verb/pointed() + * + * note: ghosts can point, this is intended + * + * visible_message will handle invisibility properly + * + * overridden here and in /mob/dead/observer for different point span classes and sanity checks + */ +/mob/verb/pointed(atom/target as mob|obj|turf in fov_view()) + set name = "Point To" + set category = "Object" + + if(client && !(target in view(client.view, src))) + return FALSE + if(istype(target, /obj/effect/temp_visual/point)) + return FALSE + + point_at(target) + + SEND_SIGNAL(src, COMSIG_MOB_POINTED, target) + return TRUE diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm index 1157738dd0..b948f4b8be 100644 --- a/code/modules/power/antimatter/control.dm +++ b/code/modules/power/antimatter/control.dm @@ -197,23 +197,23 @@ /obj/machinery/power/am_control_unit/proc/add_shielding(obj/machinery/am_shielding/AMS, AMS_linking = 0) if(!istype(AMS)) - return 0 + return FALSE if(!anchored) - return 0 + return FALSE if(!AMS_linking && !AMS.link_control(src)) - return 0 + return FALSE linked_shielding.Add(AMS) update_shield_icons = 1 - return 1 + return TRUE /obj/machinery/power/am_control_unit/proc/remove_shielding(obj/machinery/am_shielding/AMS) if(!istype(AMS)) - return 0 + return FALSE linked_shielding.Remove(AMS) update_shield_icons = 2 if(active) toggle_power() - return 1 + return TRUE /obj/machinery/power/am_control_unit/proc/check_stability()//TODO: make it break when low also might want to add a way to fix it like a part or such that can be replaced if(stability <= 0) diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm index 89621514c8..868116dc62 100644 --- a/code/modules/power/antimatter/shielding.dm +++ b/code/modules/power/antimatter/shielding.dm @@ -80,7 +80,7 @@ /obj/machinery/am_shielding/CanPass(atom/movable/mover, turf/target) - return 0 + return FALSE /obj/machinery/am_shielding/process() @@ -167,12 +167,12 @@ //Call this to link a detected shilding unit to the controller /obj/machinery/am_shielding/proc/link_control(obj/machinery/power/am_control_unit/AMC) if(!istype(AMC)) - return 0 + return FALSE if(control_unit && control_unit != AMC) return 0//Already have one control_unit = AMC control_unit.add_shielding(src,1) - return 1 + return TRUE //Scans cards for shields or the control unit and if all there it @@ -186,8 +186,8 @@ found_am_device = 1 break if(!found_am_device) - return 0 - return 1 + return FALSE + return TRUE /obj/machinery/am_shielding/proc/setup_core() diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 33198e5813..162f8d4a44 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -860,7 +860,7 @@ /obj/machinery/power/apc/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) if(damage_flag == MELEE && damage_amount < 10 && (!(stat & BROKEN) || malfai)) - return 0 + return FALSE . = ..() @@ -1343,7 +1343,7 @@ if(terminal) return terminal.surplus() else - return 0 + return FALSE /obj/machinery/power/apc/add_load(amount) if(terminal && terminal.powernet) @@ -1353,7 +1353,7 @@ if(terminal) return terminal.avail(amount) else - return 0 + return FALSE /obj/machinery/power/apc/process() if(icon_update_needed) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 4e4ff27919..8b21a27a14 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -198,12 +198,12 @@ By design, d1 is the smallest direction and d2 is the highest // shock the user with probability prb /obj/structure/cable/proc/shock(mob/user, prb, siemens_coeff = 1) if(!prob(prb)) - return 0 + return FALSE if (electrocute_mob(user, powernet, src, siemens_coeff)) do_sparks(5, TRUE, src) - return 1 + return TRUE else - return 0 + return FALSE /obj/structure/cable/singularity_pull(S, current_size) ..() @@ -235,13 +235,13 @@ By design, d1 is the smallest direction and d2 is the highest if(powernet) return clamp(powernet.avail-powernet.load, 0, powernet.avail) else - return 0 + return FALSE /obj/structure/cable/proc/avail(amount) if(powernet) return amount ? powernet.avail >= amount : powernet.avail else - return 0 + return FALSE /obj/structure/cable/proc/add_delayedload(amount) if(powernet) @@ -251,13 +251,13 @@ By design, d1 is the smallest direction and d2 is the highest if(powernet) return clamp(powernet.newavail - powernet.delayedload, 0, powernet.newavail) else - return 0 + return FALSE /obj/structure/cable/proc/newavail() if(powernet) return powernet.newavail else - return 0 + return FALSE ///////////////////////////////////////////////// // Cable laying helpers @@ -515,8 +515,9 @@ By design, d1 is the smallest direction and d2 is the highest used_skills = list(/datum/skill/level/job/wiring) /obj/item/stack/cable_coil/cyborg - is_cyborg = 1 + is_cyborg = TRUE custom_materials = null + source = /datum/robot_energy_storage/wire cost = 1 /obj/item/stack/cable_coil/cyborg/attack_self(mob/user) @@ -572,7 +573,7 @@ By design, d1 is the smallest direction and d2 is the highest return ..() -/obj/item/stack/cable_coil/update_icon() +/obj/item/stack/cable_coil/update_icon_state() icon_state = "[initial(item_state)][amount < 3 ? amount : ""]" name = "cable [amount < 3 ? "piece" : "coil"]" diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 6d1da2bc20..51710affc0 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -76,13 +76,13 @@ /obj/item/stock_parts/cell/use(amount, can_explode = TRUE) if(rigged && amount > 0 && can_explode) explode() - return 0 + return FALSE if(charge < amount) - return 0 + return FALSE charge -= amount if(!istype(loc, /obj/machinery/power/apc)) SSblackbox.record_feedback("tally", "cell_used", 1, type) - return 1 + return TRUE // recharge the cell /obj/item/stock_parts/cell/proc/give(amount) @@ -90,7 +90,7 @@ return if(rigged && amount > 0) explode() - return 0 + return FALSE if(maxcharge < amount) amount = maxcharge var/power_used = min(maxcharge-charge,amount) @@ -182,7 +182,7 @@ if(charge >= 1000) return clamp(round(charge/10000), 10, 90) + rand(-5,5) else - return 0 + return FALSE /obj/item/stock_parts/cell/get_part_rating() return rating * maxcharge @@ -298,7 +298,7 @@ chargerate = 30000 /obj/item/stock_parts/cell/infinite/use() - return 1 + return TRUE /obj/item/stock_parts/cell/infinite/abductor name = "void core" diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index c2dd77290a..24e7581966 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -44,13 +44,13 @@ if(powernet) return clamp(powernet.avail-powernet.load, 0, powernet.avail) else - return 0 + return FALSE /obj/machinery/power/proc/avail(amount) if(powernet) return amount ? powernet.avail >= amount : powernet.avail else - return 0 + return FALSE /obj/machinery/power/proc/add_delayedload(amount) if(powernet) @@ -60,13 +60,13 @@ if(powernet) return clamp(powernet.newavail - powernet.delayedload, 0, powernet.newavail) else - return 0 + return FALSE /obj/machinery/power/proc/newavail() if(powernet) return powernet.newavail else - return 0 + return FALSE /obj/machinery/power/proc/disconnect_terminal() // machines without a terminal will just return, no harm no fowl. return @@ -105,7 +105,7 @@ addStaticPower(-value, powerchannel) /obj/machinery/proc/power_change() - //SIGNAL_HANDLER + SHOULD_NOT_SLEEP(TRUE) //SHOULD_CALL_PARENT(TRUE) if(stat & BROKEN) @@ -309,17 +309,17 @@ //No animations will be performed by this proc. /proc/electrocute_mob(mob/living/M, power_source, obj/source, siemens_coeff = 1, dist_check = FALSE) if(!istype(M) || ismecha(M.loc)) - return 0 //feckin mechs are dumb + return FALSE //feckin mechs are dumb if(dist_check) if(!in_range(source,M)) - return 0 + return FALSE if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.gloves) var/obj/item/clothing/gloves/G = H.gloves if(G.siemens_coefficient == 0) SEND_SIGNAL(M, COMSIG_LIVING_SHOCK_PREVENTED, power_source, source, siemens_coeff, dist_check) - return 0 //to avoid spamming with insulated glvoes on + return FALSE //to avoid spamming with insulated glvoes on var/area/source_area if(istype(power_source, /area)) @@ -342,12 +342,12 @@ if (apc.terminal) PN = apc.terminal.powernet else if (!power_source) - return 0 + return FALSE else log_admin("ERROR: /proc/electrocute_mob([M], [power_source], [source]): wrong power_source") - return 0 + return FALSE if (!cell && !PN) - return 0 + return FALSE var/PN_damage = 0 var/cell_damage = 0 if (PN) diff --git a/code/modules/power/powernet.dm b/code/modules/power/powernet.dm index ff69adc894..a8b52ca84a 100644 --- a/code/modules/power/powernet.dm +++ b/code/modules/power/powernet.dm @@ -98,4 +98,4 @@ if(avail >= 1000) return clamp(round(avail/10000), 10, 90) + rand(-5,5) else - return 0 + return FALSE diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 8f9a7805c6..0f6bd1aee7 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -383,7 +383,7 @@ auto.Remove(buckled_mob) . = ..() -/obj/machinery/power/emitter/prototype/user_buckle_mob(mob/living/M, mob/living/carbon/user) +/obj/machinery/power/emitter/prototype/user_buckle_mob(mob/living/M, mob/living/carbon/user, check_loc) if(user.incapacitated() || !istype(user)) return for(var/atom/movable/A in get_turf(src)) @@ -426,7 +426,7 @@ for(var/obj/item/I in U.held_items) if(istype(I, /obj/item/turret_control)) qdel(I) - UpdateButtonIcon() + UpdateButtons() return else playsound(PE,'sound/mecha/mechmove01.ogg', 50, TRUE) @@ -443,7 +443,7 @@ else //Entries in the list should only ever be items or null, so if it's not an item, we can assume it's an empty hand var/obj/item/turret_control/TC = new /obj/item/turret_control() U.put_in_hands(TC) - UpdateButtonIcon() + UpdateButtons() /obj/item/turret_control diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index 567ac00487..fba18c70dc 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -76,7 +76,7 @@ field_generator power level display if(get_dist(src, user) <= 1)//Need to actually touch the thing to turn it on if(active >= FG_CHARGING) to_chat(user, "You are unable to turn off [src] once it is online!") - return 1 + return TRUE else user.visible_message("[user] turns on [src].", \ "You turn on [src].", \ @@ -157,7 +157,7 @@ field_generator power level display /obj/machinery/field/generator/blob_act(obj/structure/blob/B) if(active) - return 0 + return FALSE else ..() @@ -207,25 +207,25 @@ field_generator power level display if(draw_power(round(power_draw/2,1))) check_power_level() - return 1 + return TRUE else visible_message("The [name] shuts down!", "You hear something shutting down.") turn_off() investigate_log("ran out of power and deactivated", INVESTIGATE_SINGULO) power = 0 check_power_level() - return 0 + return FALSE //This could likely be better, it tends to start loopin if you have a complex generator loop setup. Still works well enough to run the engine fields will likely recode the field gens and fields sometime -Mport /obj/machinery/field/generator/proc/draw_power(draw = 0, failsafe = FALSE, obj/machinery/field/generator/G = null, obj/machinery/field/generator/last = null) if((G && (G == src)) || (failsafe >= 8))//Loopin, set fail - return 0 + return FALSE else failsafe++ if(power >= draw)//We have enough power power -= draw - return 1 + return TRUE else//Need more power draw -= power @@ -236,14 +236,14 @@ field_generator power level display continue if(G)//Another gen is askin for power and we dont have it if(FG.draw_power(draw,failsafe,G,src))//Can you take the load - return 1 + return TRUE else - return 0 + return FALSE else//We are askin another for power if(FG.draw_power(draw,failsafe,src,src)) - return 1 + return TRUE else - return 0 + return FALSE /obj/machinery/field/generator/proc/start_fields() @@ -266,22 +266,22 @@ field_generator power level display /obj/machinery/field/generator/proc/setup_field(NSEW) var/turf/T = loc if(!istype(T)) - return 0 + return FALSE var/obj/machinery/field/generator/G = null var/steps = 0 if(!NSEW)//Make sure its ran right - return 0 + return FALSE for(var/dist in 0 to 7) // checks out to 8 tiles away for another generator T = get_step(T, NSEW) if(T.density)//We cant shoot a field though this - return 0 + return FALSE G = locate(/obj/machinery/field/generator) in T if(G) steps -= 1 if(!G.active) - return 0 + return FALSE break for(var/TC in T.contents) @@ -289,12 +289,12 @@ field_generator power level display if(ismob(A)) continue if(A.density) - return 0 + return FALSE steps++ if(!G) - return 0 + return FALSE T = loc for(var/dist in 0 to steps) // creates each field tile diff --git a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm index 6938352d16..a101521927 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm @@ -141,8 +141,8 @@ /obj/structure/particle_accelerator/proc/connect_master(obj/O) if(O.dir == dir) master = O - return 1 - return 0 + return TRUE + return FALSE /////////// // PARTS // diff --git a/code/modules/power/singularity/particle_accelerator/particle_emitter.dm b/code/modules/power/singularity/particle_accelerator/particle_emitter.dm index fc7cca55e6..bfcb53db7c 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_emitter.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_emitter.dm @@ -21,8 +21,8 @@ /obj/structure/particle_accelerator/particle_emitter/proc/set_delay(delay) if(delay >= 0) fire_delay = delay - return 1 - return 0 + return TRUE + return FALSE /obj/structure/particle_accelerator/particle_emitter/proc/emit_particle(strength = 0) if((last_shot + fire_delay) <= world.time) @@ -39,5 +39,5 @@ if(3) P = new/obj/effect/accelerated_particle/powerful(T) P.setDir(dir) - return 1 - return 0 + return TRUE + return FALSE diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 29fd68d034..b1f8efae6e 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -57,7 +57,7 @@ return ..() else last_failed_movement = direct - return 0 + return FALSE /obj/singularity/on_attack_hand(mob/user, act_intent = user.a_intent, unarmed_attack_flags) consume(user) @@ -74,10 +74,10 @@ /obj/singularity/attackby(obj/item/W, mob/user, params) consume(user) - return 1 + return TRUE /obj/singularity/Process_Spacemove() //The singularity stops drifting for no man! - return 0 + return FALSE /obj/singularity/blob_act(obj/structure/blob/B) return @@ -235,18 +235,18 @@ dissipate = 0 if(current_size == allowed_size) investigate_log("grew to size [current_size]", INVESTIGATE_SINGULO) - return 1 + return TRUE else if(current_size < (--temp_allowed_size)) expand(temp_allowed_size) else - return 0 + return FALSE /obj/singularity/proc/check_energy() if(energy <= 0) investigate_log("collapsed.", INVESTIGATE_SINGULO) qdel(src) - return 0 + return FALSE switch(energy)//Some of these numbers might need to be changed up later -Mport if(1 to 199) allowed_size = STAGE_ONE @@ -263,7 +263,7 @@ allowed_size = STAGE_FIVE if(current_size != allowed_size) expand() - return 1 + return TRUE /obj/singularity/proc/eat() @@ -296,7 +296,7 @@ /obj/singularity/proc/move(force_move = 0) if(!move_self) - return 0 + return FALSE var/movement_dir = pick(GLOB.alldirs - last_failed_movement) @@ -321,7 +321,7 @@ /obj/singularity/proc/check_turfs_in(direction = 0, step = 0) if(!direction) - return 0 + return FALSE var/steps = 0 if(!step) switch(current_size) @@ -342,7 +342,7 @@ for(var/i = 1 to steps) T = get_step(T,direction) if(!isturf(T)) - return 0 + return FALSE turfs.Add(T) var/dir2 = 0 var/dir3 = 0 @@ -357,35 +357,35 @@ for(var/j = 1 to steps-1) T2 = get_step(T2,dir2) if(!isturf(T2)) - return 0 + return FALSE turfs.Add(T2) for(var/k = 1 to steps-1) T = get_step(T,dir3) if(!isturf(T)) - return 0 + return FALSE turfs.Add(T) for(var/turf/T3 in turfs) if(isnull(T3)) continue if(!can_move(T3)) - return 0 - return 1 + return FALSE + return TRUE /obj/singularity/proc/can_move(turf/T) if(!T) - return 0 + return FALSE if((locate(/obj/machinery/field/containment) in T)||(locate(/obj/machinery/shieldwall) in T)) - return 0 + return FALSE else if(locate(/obj/machinery/field/generator) in T) var/obj/machinery/field/generator/G = locate(/obj/machinery/field/generator) in T if(G && G.active) - return 0 + return FALSE else if(locate(/obj/machinery/shieldwallgen) in T) var/obj/machinery/shieldwallgen/S = locate(/obj/machinery/shieldwallgen) in T if(S && S.active) - return 0 - return 1 + return FALSE + return TRUE /obj/singularity/proc/event() @@ -397,11 +397,11 @@ mezzer() if(3,4) //Sets all nearby mobs on fire if(current_size < STAGE_SIX) - return 0 + return FALSE combust_mobs() else - return 0 - return 1 + return FALSE + return TRUE /obj/singularity/proc/combust_mobs() diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 3ce38db3c2..ef5d331402 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -264,7 +264,7 @@ tracker = TRUE qdel(W) user.visible_message("[user] inserts the electronics into the solar assembly.", "You insert the electronics into the solar assembly.") - return 1 + return TRUE else if(W.tool_behaviour == TOOL_CROWBAR) new /obj/item/electronics/tracker(src.loc) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 880c288fb9..c456887460 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -720,7 +720,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) if(damage > explosion_point) countdown() - return 1 + return TRUE /obj/machinery/power/supermatter_crystal/bullet_act(obj/item/projectile/Proj) var/turf/L = loc diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm index 13cd2db385..3ef0eea7fe 100644 --- a/code/modules/power/tesla/coil.dm +++ b/code/modules/power/tesla/coil.dm @@ -194,6 +194,6 @@ if(anchored && !panel_open) flick("grounding_rodhit", src) zap_buckle_check(power) - return 0 + return FALSE else . = ..() diff --git a/code/modules/procedural_mapping/mapGenerator.dm b/code/modules/procedural_mapping/mapGenerator.dm index 323f74d0ef..3592e3bb1f 100644 --- a/code/modules/procedural_mapping/mapGenerator.dm +++ b/code/modules/procedural_mapping/mapGenerator.dm @@ -37,7 +37,7 @@ //Returns the map /datum/mapGenerator/proc/defineRegion(turf/Start, turf/End, replace = 0) if(!checkRegion(Start, End)) - return 0 + return FALSE if(replace) undefineRegion() @@ -49,7 +49,7 @@ //Returns the map /datum/mapGenerator/proc/defineCircularRegion(turf/Start, turf/End, replace = 0) if(!checkRegion(Start, End)) - return 0 + return FALSE var/centerX = max(abs((End.x+Start.x)/2),1) var/centerY = max(abs((End.y+Start.y)/2),1) @@ -92,7 +92,7 @@ . = 1 if(!Start || !End) - return 0 //Just bail + return FALSE //Just bail if(Start.x > world.maxx || End.x > world.maxx) . = 0 diff --git a/code/modules/procedural_mapping/mapGeneratorModule.dm b/code/modules/procedural_mapping/mapGeneratorModule.dm index 3a78d8385e..790d98576e 100644 --- a/code/modules/procedural_mapping/mapGeneratorModule.dm +++ b/code/modules/procedural_mapping/mapGeneratorModule.dm @@ -28,7 +28,7 @@ //Place a spawnable atom or turf on this turf /datum/mapGeneratorModule/proc/place(turf/T) if(!T) - return 0 + return FALSE var/clustering = 0 var/skipLoopIteration = FALSE @@ -107,7 +107,7 @@ /datum/mapGeneratorModule/proc/checkPlaceAtom(turf/T) . = 1 if(!T) - return 0 + return FALSE if(T.density) . = 0 for(var/atom/A in T) diff --git a/code/modules/procedural_mapping/mapGeneratorModules/helpers.dm b/code/modules/procedural_mapping/mapGeneratorModules/helpers.dm index 18607b919a..6f5efc32c7 100644 --- a/code/modules/procedural_mapping/mapGeneratorModules/helpers.dm +++ b/code/modules/procedural_mapping/mapGeneratorModules/helpers.dm @@ -61,8 +61,8 @@ for(var/direction in list(SOUTH,EAST,WEST,NORTH)) if (get_step(T,direction) in mother.map) continue - return 1 - return 0 + return TRUE + return FALSE /datum/mapGenerator/repressurize modules = list(/datum/mapGeneratorModule/bottomLayer/repressurize) diff --git a/code/modules/procedural_mapping/mapGenerators/cellular.dm b/code/modules/procedural_mapping/mapGenerators/cellular.dm index 5fc1344dc4..cf0423d2fd 100644 --- a/code/modules/procedural_mapping/mapGenerators/cellular.dm +++ b/code/modules/procedural_mapping/mapGenerators/cellular.dm @@ -78,10 +78,10 @@ value -= old_state[i][j] if(value in b_rule) - return 1 + return TRUE if(value in s_rule) return old_state[i][j] - return 0 + return FALSE /datum/mapGenerator/ca/caves b_rule = list(5,6,7,8) diff --git a/code/modules/projectiles/ammunition/_firing.dm b/code/modules/projectiles/ammunition/_firing.dm index 437b7dcc5a..4190db7803 100644 --- a/code/modules/projectiles/ammunition/_firing.dm +++ b/code/modules/projectiles/ammunition/_firing.dm @@ -19,7 +19,7 @@ user.DelayNextAction(considered_action = TRUE, immediate = FALSE) user.newtonian_move(get_dir(target, user)) update_icon() - return 1 + return TRUE /obj/item/ammo_casing/proc/ready_proj(atom/target, mob/living/user, quiet, zone_override = "", fired_from) if (!BB) @@ -52,7 +52,7 @@ /obj/item/ammo_casing/proc/throw_proj(atom/target, turf/targloc, mob/living/user, params, spread) var/turf/curloc = get_turf(user) if (!istype(targloc) || !istype(curloc) || !BB) - return 0 + return FALSE var/firing_dir if(BB.firer) @@ -68,7 +68,7 @@ BB.preparePixelProjectile(target, user, params, spread) BB.fire(null, direct_target) BB = null - return 1 + return TRUE /obj/item/ammo_casing/proc/spread(turf/target, turf/current, distro) var/dx = abs(target.x - current.x) diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index e44fcb38c8..3a84a6106c 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -51,12 +51,12 @@ /obj/item/ammo_box/proc/give_round(obj/item/ammo_casing/R, replace_spent = 0) // Boxes don't have a caliber type, magazines do. Not sure if it's intended or not, but if we fail to find a caliber, then we fall back to ammo_type. if(!R || (caliber && R.caliber != caliber) || (!caliber && R.type != ammo_type)) - return 0 + return FALSE if (stored_ammo.len < max_ammo) stored_ammo += R R.forceMove(src) - return 1 + return TRUE //for accessibles magazines (e.g internal ones) when full, start replacing spent ammo else if(replace_spent) @@ -67,12 +67,12 @@ stored_ammo += R R.forceMove(src) - return 1 + return TRUE - return 0 + return FALSE /obj/item/ammo_box/proc/can_load(mob/user) - return 1 + return TRUE /obj/item/ammo_box/attackby(obj/item/A, mob/user, params, silent = FALSE, replace_spent = 0) var/num_loaded = 0 diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index d782db3a8a..ba5ac2a9e4 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -137,12 +137,12 @@ burst_size = 1 - sortList(fire_select_modes, GLOBAL_PROC_REF(cmp_numeric_asc)) + sort_list(fire_select_modes, GLOBAL_PROC_REF(cmp_numeric_asc)) if(fire_select_modes.len > 1) firemode_action = new(src) firemode_action.button_icon_state = "fireselect_[fire_select]" - firemode_action.UpdateButtonIcon() + firemode_action.UpdateButtons() /obj/item/gun/ComponentInitialize() . = ..() @@ -219,7 +219,7 @@ playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) update_appearance() firemode_action.button_icon_state = "fireselect_[fire_select]" - firemode_action.UpdateButtonIcon() + firemode_action.UpdateButtons() return TRUE /obj/item/gun/equipped(mob/living/user, slot) @@ -670,7 +670,7 @@ update_icon() for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon() + A.UpdateButtons() /obj/item/gun/update_overlays() . = ..() @@ -756,7 +756,7 @@ /datum/action/item_action/toggle_scope_zoom/IsAvailable(silent = FALSE) . = ..() - if(!.) + if(!. && owner) var/obj/item/gun/G = target G.zoom(owner, owner.dir, FALSE) @@ -807,7 +807,7 @@ return ..() /obj/item/gun/proc/getinaccuracy(mob/living/user, bonus_spread, stamloss) - return 0 // Replacement TBD: Exponential curved aim instability system. + return FALSE // Replacement TBD: Exponential curved aim instability system. /* if(inaccuracy_modifier == 0) diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index 83fecc65b4..0f3ea67580 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -48,8 +48,8 @@ /obj/item/gun/ballistic/can_shoot() if(!magazine || !magazine.ammo_count(0)) - return 0 - return 1 + return FALSE + return TRUE /obj/item/gun/ballistic/attackby(obj/item/A, mob/user, params) ..() @@ -68,7 +68,7 @@ playsound(src, "gun_insert_empty_magazine", 70, 1) A.update_icon() update_icon() - return 1 + return TRUE else to_chat(user, "You cannot seem to get \the [src] out of your hands!") return @@ -89,7 +89,7 @@ to_chat(user, "You screw [S] onto [src].") install_suppressor(A) return - return 0 + return FALSE /obj/item/gun/ballistic/proc/install_suppressor(obj/item/suppressor/S) // this proc assumes that the suppressor is already inside src @@ -205,7 +205,7 @@ slot_flags |= ITEM_SLOT_BELT //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) sawn_off = TRUE update_icon() - return 1 + return TRUE /// is something supposed to happen here? /obj/item/gun/ballistic/proc/on_sawoff(mob/user) diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 4d08520246..0bb1c3cada 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -52,7 +52,7 @@ chamber_round() A.update_icon() update_icon() - return 1 + return TRUE else to_chat(user, "You cannot seem to get \the [src] out of your hands!") diff --git a/code/modules/projectiles/guns/ballistic/magweapon.dm b/code/modules/projectiles/guns/ballistic/magweapon.dm index f3a11eb179..cdb88f754a 100644 --- a/code/modules/projectiles/guns/ballistic/magweapon.dm +++ b/code/modules/projectiles/guns/ballistic/magweapon.dm @@ -37,13 +37,13 @@ /obj/item/gun/ballistic/automatic/magrifle/can_shoot() if(QDELETED(cell)) - return 0 + return FALSE var/obj/item/ammo_casing/caseless/magnetic/shot = chambered if(!shot) - return 0 + return FALSE if(cell.charge < shot.energy_cost * burst_size) - return 0 + return FALSE . = ..() /obj/item/gun/ballistic/automatic/magrifle/shoot_live_shot(mob/living/user, pointblank = FALSE, mob/pbtarget, message = 1, stam_cost = 0) diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index 0b92e63ca6..4841179185 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -37,7 +37,7 @@ /obj/item/gun/ballistic/shotgun/can_shoot() if(!chambered) - return 0 + return FALSE return (chambered.BB ? 1 : 0) /obj/item/gun/ballistic/shotgun/attack_self(mob/living/user) @@ -67,7 +67,7 @@ pump_unload(M) pump_reload(M) update_icon() //I.E. fix the desc - return 1 + return TRUE /obj/item/gun/ballistic/shotgun/proc/pump_unload(mob/M) if(chambered)//We have a shell in the chamber @@ -77,7 +77,7 @@ /obj/item/gun/ballistic/shotgun/proc/pump_reload(mob/M) if(!magazine.ammo_count()) - return 0 + return FALSE var/obj/item/ammo_casing/AC = magazine.get_round() //load next casing. chambered = AC @@ -147,7 +147,7 @@ pump_unload(M) bolt_open = !bolt_open update_icon() //I.E. fix the desc - return 1 + return TRUE /obj/item/gun/ballistic/shotgun/boltaction/attackby(obj/item/A, mob/user, params) if(!bolt_open) diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index 5f62e96256..e9b3695db9 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -57,25 +57,24 @@ . = ..() if(max_mod_capacity) . += "[get_remaining_mod_capacity()]% mod capacity remaining." - for(var/A in get_modkits()) - var/obj/item/borg/upgrade/modkit/M = A + for(var/obj/item/borg/upgrade/modkit/M in modkits) . += "There is \a [M] installed, using [M.cost]% capacity." /obj/item/gun/energy/kinetic_accelerator/crowbar_act(mob/living/user, obj/item/I) . = TRUE if(modkits.len) - to_chat(user, "You pry the modifications out.") + to_chat(user, span_notice("You pry all the modifications out.")) I.play_tool_sound(src, 100) for(var/obj/item/borg/upgrade/modkit/M in modkits) - M.uninstall(src) + M.forceMove(drop_location()) //uninstallation handled in Exited(), or /mob/living/silicon/robot/remove_from_upgrades() for borgs else - to_chat(user, "There are no modifications currently installed.") + to_chat(user, span_notice("There are no modifications currently installed.")) -/obj/item/gun/energy/kinetic_accelerator/Exited(atom/movable/AM) - . = ..() - if((AM in modkits) && istype(AM, /obj/item/borg/upgrade/modkit)) - var/obj/item/borg/upgrade/modkit/M = AM - M.uninstall(src, FALSE) +/obj/item/gun/energy/kinetic_accelerator/Exited(atom/movable/gone) + if(gone in modkits) + var/obj/item/borg/upgrade/modkit/MK = gone + MK.uninstall(src) + return ..() /obj/item/gun/energy/kinetic_accelerator/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/borg/upgrade/modkit)) @@ -86,20 +85,13 @@ /obj/item/gun/energy/kinetic_accelerator/proc/get_remaining_mod_capacity() var/current_capacity_used = 0 - for(var/A in get_modkits()) - var/obj/item/borg/upgrade/modkit/M = A + for(var/obj/item/borg/upgrade/modkit/M in modkits) current_capacity_used += M.cost return max_mod_capacity - current_capacity_used -/obj/item/gun/energy/kinetic_accelerator/proc/get_modkits() - . = list() - for(var/A in modkits) - . += A - /obj/item/gun/energy/kinetic_accelerator/proc/modify_projectile(obj/item/projectile/kinetic/K) K.kinetic_gun = src //do something special on-hit, easy! - for(var/A in get_modkits()) - var/obj/item/borg/upgrade/modkit/M = A + for(var/obj/item/borg/upgrade/modkit/M in modkits) M.modify_projectile(K) /obj/item/gun/energy/kinetic_accelerator/cyborg @@ -211,7 +203,7 @@ /obj/item/gun/energy/kinetic_accelerator/getstamcost(mob/living/carbon/user) if(user && !lavaland_equipment_pressure_check(get_turf(user))) - return 0 + return FALSE else return ..() @@ -259,7 +251,7 @@ if(!target_turf) target_turf = get_turf(src) if(kinetic_gun) //hopefully whoever shot this was not very, very unfortunate. - var/list/mods = kinetic_gun.get_modkits() + var/list/mods = kinetic_gun.modkits for(var/obj/item/borg/upgrade/modkit/M in mods) M.projectile_strike_predamage(src, target_turf, target, kinetic_gun) for(var/obj/item/borg/upgrade/modkit/M in mods) @@ -278,7 +270,7 @@ icon = 'icons/obj/objects.dmi' icon_state = "modkit" w_class = WEIGHT_CLASS_SMALL - require_module = 1 + require_module = TRUE module_type = list(/obj/item/robot_module/miner) module_flags = BORG_MODULE_MINER var/denied_type = null @@ -298,26 +290,24 @@ else ..() -/obj/item/borg/upgrade/modkit/afterInstall(mob/living/silicon/robot/R) - for(var/obj/item/gun/energy/kinetic_accelerator/H in R.module.modules) - if(install(H, R)) //It worked - return - to_chat(R, "Upgrade error - Aborting Kinetic Accelerator linking.") //No applicable KA found, insufficient capacity, or some other problem. +/obj/item/borg/upgrade/modkit/action(mob/living/silicon/robot/R) + . = ..() + if (.) + for(var/obj/item/gun/energy/kinetic_accelerator/H in R.module.modules) + return install(H, usr, FALSE) -/obj/item/borg/upgrade/modkit/proc/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user) +/obj/item/borg/upgrade/modkit/proc/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user, transfer_to_loc = TRUE) . = TRUE - if(src in KA.modkits) // Sanity check to prevent installing the same modkit twice thanks to occasional click/lag delays. - return FALSE if(minebot_upgrade) if(minebot_exclusive && !istype(KA.loc, /mob/living/simple_animal/hostile/mining_drone)) - to_chat(user, "The modkit you're trying to install is only rated for minebot use.") + to_chat(user, span_notice("The modkit you're trying to install is only rated for minebot use.")) return FALSE else if(istype(KA.loc, /mob/living/simple_animal/hostile/mining_drone)) - to_chat(user, "The modkit you're trying to install is not rated for minebot use.") + to_chat(user, span_notice("The modkit you're trying to install is not rated for minebot use.")) return FALSE if(denied_type) var/number_of_denied = 0 - for(var/A in KA.get_modkits()) + for(var/A in KA.modkits) var/obj/item/borg/upgrade/modkit/M = A if(istype(M, denied_type)) number_of_denied++ @@ -326,21 +316,25 @@ break if(KA.get_remaining_mod_capacity() >= cost) if(.) - if(!user.transferItemToLoc(src, KA)) - return FALSE - to_chat(user, "You install the modkit.") - playsound(loc, 'sound/items/screwdriver.ogg', 100, 1) + if(transfer_to_loc && !user.transferItemToLoc(src, KA)) + return + to_chat(user, span_notice("You install the modkit.")) + playsound(loc, 'sound/items/screwdriver.ogg', 100, TRUE) KA.modkits += src else - to_chat(user, "The modkit you're trying to install would conflict with an already installed modkit. Use a crowbar to remove existing modkits.") + to_chat(user, span_notice("The modkit you're trying to install would conflict with an already installed modkit. Use a crowbar to remove existing modkits.")) else - to_chat(user, "You don't have room([KA.get_remaining_mod_capacity()]% remaining, [cost]% needed) to install this modkit. Use a crowbar to remove existing modkits.") + to_chat(user, span_notice("You don't have room([KA.get_remaining_mod_capacity()]% remaining, [cost]% needed) to install this modkit. Use a crowbar to remove existing modkits.")) . = FALSE -/obj/item/borg/upgrade/modkit/proc/uninstall(obj/item/gun/energy/kinetic_accelerator/KA, forcemove = TRUE) +/obj/item/borg/upgrade/modkit/deactivate(mob/living/silicon/robot/R, user = usr) + . = ..() + if (.) + for(var/obj/item/gun/energy/kinetic_accelerator/KA in R.module.modules) + uninstall(KA) + +/obj/item/borg/upgrade/modkit/proc/uninstall(obj/item/gun/energy/kinetic_accelerator/KA) KA.modkits -= src - if(forcemove) - forceMove(get_turf(KA)) /obj/item/borg/upgrade/modkit/proc/modify_projectile(obj/item/projectile/kinetic/K) @@ -467,6 +461,7 @@ /obj/item/borg/upgrade/modkit/minebot_passthrough name = "minebot passthrough" desc = "Causes kinetic accelerator shots to pass through minebots." + denied_type = /obj/item/borg/upgrade/modkit/minebot_passthrough // If you have something cost zero, you can keep adding forever, why cost = 0 //Tendril-unique modules diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm index 4192f038c2..eaa0dae83d 100644 --- a/code/modules/projectiles/guns/magic.dm +++ b/code/modules/projectiles/guns/magic.dm @@ -66,12 +66,12 @@ /obj/item/gun/magic/process() charge_tick++ if(charge_tick < recharge_rate || charges >= max_charges) - return 0 + return FALSE charge_tick = 0 charges++ if(charges == 1) recharge_newshot() - return 1 + return TRUE /obj/item/gun/magic/shoot_with_empty_chamber(mob/living/user as mob|obj) to_chat(user, "The [name] whizzles quietly.") diff --git a/code/modules/projectiles/guns/misc/beam_rifle.dm b/code/modules/projectiles/guns/misc/beam_rifle.dm index 7cc025f387..4548719a20 100644 --- a/code/modules/projectiles/guns/misc/beam_rifle.dm +++ b/code/modules/projectiles/guns/misc/beam_rifle.dm @@ -200,7 +200,9 @@ else P.color = rgb(0, 255, 0) var/turf/curloc = get_turf(src) - var/turf/targloc = get_turf(current_user.client.mouseObject) + + var/atom/target_atom = current_user.client.mouse_object_ref?.resolve() + var/turf/targloc = get_turf(target_atom) if(!istype(targloc)) if(!istype(curloc)) return @@ -293,7 +295,9 @@ process_aim() if(fire_check() && can_trigger_gun(M)) sync_ammo() - do_fire(M.client.mouseObject, M, FALSE, M.client.mouseParams, M.zone_selected) + var/atom/target = M.client.mouse_object_ref?.resolve() + if(target) + afterattack(target, M, FALSE, M.client.mouseParams) stop_aiming() QDEL_LIST(current_tracers) return ..() @@ -469,7 +473,7 @@ return 0.5 if(istype(target, /obj/structure/blob)) return 0.65 //CIT CHANGE. - return 1 + return TRUE /obj/item/projectile/beam/beam_rifle/proc/handle_impact(atom/target) if(isobj(target)) diff --git a/code/modules/projectiles/guns/misc/blastcannon.dm b/code/modules/projectiles/guns/misc/blastcannon.dm index a88f395561..3372f70444 100644 --- a/code/modules/projectiles/guns/misc/blastcannon.dm +++ b/code/modules/projectiles/guns/misc/blastcannon.dm @@ -72,20 +72,20 @@ //returns the third value of a bomb blast /obj/item/gun/blastcannon/proc/calculate_bomb() if(!istype(bomb) || !istype(bomb.tank_one) || !istype(bomb.tank_two)) - return 0 + return FALSE var/datum/gas_mixture/temp = new(max(reaction_volume_mod, 0)) bomb.merge_gases(temp) if(prereaction) temp.react(src) var/prereaction_pressure = temp.return_pressure() if(prereaction_pressure < TANK_FRAGMENT_PRESSURE) - return 0 + return FALSE for(var/i in 1 to reaction_cycles) temp.react(src) var/pressure = temp.return_pressure() qdel(temp) if(pressure < TANK_FRAGMENT_PRESSURE) - return 0 + return FALSE return ((pressure - TANK_FRAGMENT_PRESSURE) / TANK_FRAGMENT_SCALE) /obj/item/gun/blastcannon/afterattack(atom/target, mob/user, flag, params) diff --git a/code/modules/projectiles/guns/misc/medbeam.dm b/code/modules/projectiles/guns/misc/medbeam.dm index 4a64317fd9..a4ee003d7b 100644 --- a/code/modules/projectiles/guns/misc/medbeam.dm +++ b/code/modules/projectiles/guns/misc/medbeam.dm @@ -87,7 +87,7 @@ if(mounted) user_turf = get_turf(user) else if(!istype(user_turf)) - return 0 + return FALSE var/obj/dummy = new(user_turf) dummy.pass_flags |= PASSTABLE|PASSGLASS|PASSGRILLE //Grille/Glass so it can be used through common windows for(var/turf/turf in getline(user_turf,target)) @@ -95,18 +95,18 @@ continue //Mechs are dense and thus fail the check if(turf.density) qdel(dummy) - return 0 + return FALSE for(var/atom/movable/AM in turf) if(!AM.CanPass(dummy,turf,1)) qdel(dummy) - return 0 + return FALSE for(var/obj/effect/ebeam/medical/B in turf)// Don't cross the str-beams! if(B.owner.origin != current_beam.origin) explosion(B.loc,0,3,5,8) qdel(dummy) - return 0 + return FALSE qdel(dummy) - return 1 + return TRUE /obj/item/gun/medbeam/proc/on_beam_hit(var/mob/living/target) return diff --git a/code/modules/projectiles/guns/misc/syringe_gun.dm b/code/modules/projectiles/guns/misc/syringe_gun.dm index 8de7633a79..7ced76918c 100644 --- a/code/modules/projectiles/guns/misc/syringe_gun.dm +++ b/code/modules/projectiles/guns/misc/syringe_gun.dm @@ -38,18 +38,18 @@ /obj/item/gun/syringe/attack_self(mob/living/user) if(!syringes.len) to_chat(user, "[src] is empty!") - return 0 + return FALSE var/obj/item/reagent_containers/syringe/S = syringes[syringes.len] if(!S) - return 0 + return FALSE S.forceMove(user.loc) syringes.Remove(S) to_chat(user, "You unload [S] from \the [src].") - return 1 + return TRUE /obj/item/gun/syringe/attackby(obj/item/A, mob/user, params, show_msg = TRUE) if(istype(A, /obj/item/reagent_containers/syringe)) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 0aee51bb84..aa90ea470a 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -939,12 +939,10 @@ var/y = text2num(screen_loc_Y[1]) * 32 + text2num(screen_loc_Y[2]) - 32 //Calculate the "resolution" of screen based on client's view and world's icon size. This will work if the user can view more tiles than average. - var/list/screenview = getviewsize(user.client.view) - var/screenviewX = screenview[1] * world.icon_size - var/screenviewY = screenview[2] * world.icon_size + var/list/screenview = view_to_pixels(user.client.view) - var/ox = round(screenviewX/2) - user.client.pixel_x //"origin" x - var/oy = round(screenviewY/2) - user.client.pixel_y //"origin" y + var/ox = round(screenview[1] / 2) - user.client.pixel_x //"origin" x + var/oy = round(screenview[2] / 2) - user.client.pixel_y //"origin" y angle = arctan(y - oy, x - ox) return list(angle, p_x, p_y) diff --git a/code/modules/reagents/chem_splash.dm b/code/modules/reagents/chem_splash.dm index b16392ecd1..36d75bf7dd 100644 --- a/code/modules/reagents/chem_splash.dm +++ b/code/modules/reagents/chem_splash.dm @@ -73,6 +73,6 @@ splash_holder.reaction(A, TOUCH, fraction) qdel(splash_holder) - return 1 + return TRUE diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index dfe3fdec26..312f3caace 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -552,7 +552,7 @@ fermiIsReacting = FALSE SSblackbox.record_feedback("tally", "fermi_chem", 1, ("[Ferm] explosion")) Ferm.FermiExplode(src, my_atom, volume = total_volume, temp = chem_temp, pH = pH) - return 0 + return FALSE //This is just to calc the on_reaction multiplier, and is a candidate for removal. for(var/B in cached_required_reagents) @@ -561,11 +561,11 @@ targetVol = cached_results[P]*multiplier if(!((chem_temp <= C.ExplodeTemp) && (chem_temp >= C.OptimalTempMin))) - return 0 //Not hot enough + return FALSE //Not hot enough if(! ((pH >= (C.OptimalpHMin - C.ReactpHLim)) && (pH <= (C.OptimalpHMax + C.ReactpHLim)) ))//To prevent pointless reactions - return 0 + return FALSE if (fermiIsReacting) - return 0 + return FALSE else START_PROCESSING(SSprocessing, src) selected_reaction.on_reaction(src, my_atom, multiplier) @@ -581,7 +581,7 @@ fermiIsReacting = FALSE SSblackbox.record_feedback("tally", "fermi_chem", 1, ("[Ferm] explosion")) Ferm.FermiExplode(src, my_atom, volume = total_volume, temp = chem_temp, pH = pH) - return 0 + return FALSE for(var/B in cached_required_reagents) // multiplier = min(multiplier, round((get_reagent_amount(B) / cached_required_reagents[B]), CHEMICAL_QUANTISATION_LEVEL)) @@ -621,7 +621,7 @@ while(reaction_occurred) update_total() - return 0 + return FALSE /datum/reagents/process() var/datum/chemical_reaction/C = fermiReactID @@ -838,7 +838,7 @@ update_total() if(my_atom) my_atom.on_reagent_change(DEL_REAGENT) - return 1 + return TRUE /datum/reagents/proc/update_total() var/list/cached_reagents = reagent_list @@ -853,7 +853,7 @@ total_volume += R.volume if(!reagent_list || !total_volume) pH = REAGENT_NORMAL_PH - return 0 + return FALSE /datum/reagents/proc/clear_reagents() var/list/cached_reagents = reagent_list @@ -861,7 +861,7 @@ var/datum/reagent/R = reagent del_reagent(R.type) pH = REAGENT_NORMAL_PH - return 0 + return FALSE /datum/reagents/proc/reaction(atom/A, method = TOUCH, volume_modifier = 1, show_message = 1, from_gas = 0) var/react_type @@ -1075,9 +1075,9 @@ if(round(R.volume, CHEMICAL_QUANTISATION_LEVEL) >= amount) return R else - return 0 + return FALSE - return 0 + return FALSE /datum/reagents/proc/get_reagent_amount(reagent) var/list/cached_reagents = reagent_list @@ -1086,7 +1086,7 @@ if (R.type == reagent) return round(R.volume, CHEMICAL_QUANTISATION_LEVEL) - return 0 + return FALSE /datum/reagents/proc/get_reagents() var/list/names = list() @@ -1099,7 +1099,7 @@ /datum/reagents/proc/remove_all_type(reagent_type, amount, strict = 0, safety = 1) // Removes all reagent of X type. @strict set to 1 determines whether the childs of the type are included. if(!isnum(amount)) - return 1 + return TRUE var/list/cached_reagents = reagent_list var/has_removed_reagent = 0 diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index 92e938ff8d..06d1604fce 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -94,16 +94,16 @@ /obj/machinery/chem_dispenser/Initialize(mapload) . = ..() - dispensable_reagents = sortList(dispensable_reagents, GLOBAL_PROC_REF(cmp_reagents_asc)) + dispensable_reagents = sort_list(dispensable_reagents, GLOBAL_PROC_REF(cmp_reagents_asc)) if(emagged_reagents) - emagged_reagents = sortList(emagged_reagents, GLOBAL_PROC_REF(cmp_reagents_asc)) + emagged_reagents = sort_list(emagged_reagents, GLOBAL_PROC_REF(cmp_reagents_asc)) if(upgrade_reagents) - upgrade_reagents = sortList(upgrade_reagents, GLOBAL_PROC_REF(cmp_reagents_asc)) + upgrade_reagents = sort_list(upgrade_reagents, GLOBAL_PROC_REF(cmp_reagents_asc)) if(upgrade_reagents2) - upgrade_reagents2 = sortList(upgrade_reagents2, GLOBAL_PROC_REF(cmp_reagents_asc)) + upgrade_reagents2 = sort_list(upgrade_reagents2, GLOBAL_PROC_REF(cmp_reagents_asc)) if(upgrade_reagents3) - upgrade_reagents3 = sortList(upgrade_reagents3, GLOBAL_PROC_REF(cmp_reagents_asc)) - dispensable_reagents = sortList(dispensable_reagents, GLOBAL_PROC_REF(cmp_reagents_asc)) + upgrade_reagents3 = sort_list(upgrade_reagents3, GLOBAL_PROC_REF(cmp_reagents_asc)) + dispensable_reagents = sort_list(dispensable_reagents, GLOBAL_PROC_REF(cmp_reagents_asc)) create_reagents(200, NO_REACT) update_icon() diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index 0e53b0796b..8986d39008 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -440,7 +440,7 @@ num = round(num) return num else - return 0 + return FALSE /obj/machinery/chem_master/adjust_item_drop_location(atom/movable/AM) // Special version for chemmasters and condimasters diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index 2fb8f58019..65fdb382f9 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -71,14 +71,14 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent()) /datum/reagent/proc/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1, touch_protection = 0) if(!istype(M)) - return 0 + return FALSE if(method == VAPOR) //smoke, foam, spray if(M.reagents) var/modifier = clamp((1 - touch_protection), 0, 1) var/amount = round(reac_volume*modifier, 0.1) if(amount >= 0.5) M.reagents.add_reagent(type, amount) - return 1 + return TRUE /datum/reagent/proc/reaction_obj(obj/O, volume) if(O && volume && boiling_point) diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 44d38573c8..a3df4cecf6 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -1479,15 +1479,15 @@ All effects don't start immediately, but rather get worse over time; the rate is ..() /datum/reagent/consumable/ethanol/eggnog - name = "Eggnog" + name = "Spiked Eggnog" description = "The traditional way to get absolutely hammered at a Christmas party." color = "#fcfdc6" // rgb: 252, 253, 198 nutriment_factor = 2 * REAGENTS_METABOLISM - boozepwr = 1 + boozepwr = 20 quality = DRINK_VERYGOOD taste_description = "custard and alcohol" glass_icon_state = "nog3" - glass_name = "eggnog" + glass_name = "spiked eggnog" glass_desc = "The traditional way to get absolutely hammered at a Christmas party." /datum/reagent/consumable/ethanol/narsour diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index c0892ce1e2..569590f6ee 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -1146,3 +1146,14 @@ taste_description = "bitter powder" glass_name = "glass of banana peel powder" description = "You took a banana peel... pulped it... baked it... Where are you going with this?" + +/datum/reagent/consumable/eggnog + name = "Eggnog" + description = "A creamy, rich beverage made out of whisked eggs, milk and sugar, for when you feel like celebrating the winter holidays." + color = "#fcfdc6" // rgb: 252, 253, 198 + nutriment_factor = 2 * REAGENTS_METABOLISM + quality = DRINK_VERYGOOD + taste_description = "custard" + glass_icon_state = "nog3" + glass_name = "eggnog" + glass_desc = "You can't egg-nore the holiday cheer all around you" diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index af670c00dc..106de64746 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -86,7 +86,7 @@ /datum/reagent/toxin/plasma/reaction_obj(obj/O, reac_volume) if((!O) || (!reac_volume)) - return 0 + return FALSE var/temp = holder ? holder.chem_temp : T20C O.atmos_spawn_air("plasma=[reac_volume];TEMP=[temp]") diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index db81a9e1ef..0d25fe9b5c 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -75,7 +75,7 @@ /obj/item/reagent_containers/proc/canconsume(mob/eater, mob/user) if(!iscarbon(eater)) - return 0 + return FALSE var/mob/living/carbon/C = eater var/covered = "" if(C.is_mouth_covered(head_only = 1)) @@ -85,8 +85,8 @@ if(covered) var/who = (isnull(user) || eater == user) ? "your" : "[eater.p_their()]" to_chat(user, "You have to remove [who] [covered] first!") - return 0 - return 1 + return FALSE + return TRUE /obj/item/reagent_containers/ex_act(severity, target, origin) if(reagents) @@ -106,9 +106,10 @@ /obj/item/reagent_containers/proc/bartender_check(atom/target) . = FALSE var/turf/T = get_turf(src) - if(!T || !target.CanPass(src, T) || !thrownby || !thrownby.actions) + var/mob/thrown_by = thrownby?.resolve() + if(!T || !target.CanPass(src, T) || !thrown_by || !thrown_by.actions) return - var/datum/action/innate/D = get_action_of_type(thrownby, /datum/action/innate/drink_fling) + var/datum/action/innate/D = get_action_of_type(thrown_by, /datum/action/innate/drink_fling) if(D?.active) return TRUE @@ -118,6 +119,7 @@ /obj/item/reagent_containers/proc/SplashReagents(atom/target, thrown = FALSE) if(!reagents || !reagents.total_volume || !spillable) return + var/mob/thrown_by = thrownby?.resolve() if(ismob(target) && target.reagents) if(thrown) @@ -128,10 +130,10 @@ "[M] has been splashed with something!") var/turf/TT = get_turf(target) var/throwerstring - if(thrownby && thrown) - log_combat(thrownby, M, "splashed", R) - var/turf/AT = get_turf(thrownby) - throwerstring = " THROWN BY [key_name(thrownby)] at [AT] (AREACOORD(AT)]" + if(thrown_by && thrown) + log_combat(thrown_by, M, "splashed", R) + var/turf/AT = get_turf(thrown_by) + throwerstring = " THROWN BY [key_name(thrown_by)] at [AT] (AREACOORD(AT)]" log_reagent("SPLASH: [src] mob SplashReagents() onto [key_name(target)] at [TT] ([AREACOORD(TT)])[throwerstring] - [R]") reagents.reaction(target, TOUCH) reagents.clear_reagents() @@ -142,15 +144,15 @@ addtimer(CALLBACK(src, PROC_REF(ForceResetRotation)), 1) else - if(isturf(target) && reagents.reagent_list.len && thrownby) - log_combat(thrownby, target, "splashed (thrown) [english_list(reagents.reagent_list)]", "in [AREACOORD(target)]") - log_game("[key_name(thrownby)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] in [AREACOORD(target)].") - message_admins("[ADMIN_LOOKUPFLW(thrownby)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] in [ADMIN_VERBOSEJMP(target)].") + if(isturf(target) && reagents.reagent_list.len && thrown_by) + log_combat(thrown_by, target, "splashed (thrown) [english_list(reagents.reagent_list)]", "in [AREACOORD(target)]") + log_game("[key_name(thrown_by)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] in [AREACOORD(target)].") + message_admins("[ADMIN_LOOKUPFLW(thrown_by)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] in [ADMIN_VERBOSEJMP(target)].") var/turf/T = get_turf(target) var/throwerstring - if(thrownby && thrown) - var/turf/AT = get_turf(thrownby) - throwerstring = " THROWN BY [key_name(thrownby)] at [AT] ([AREACOORD(AT)])" + if(thrown_by && thrown) + var/turf/AT = get_turf(thrown_by) + throwerstring = " THROWN BY [key_name(thrown_by)] at [AT] ([AREACOORD(AT)])" log_reagent("SPLASH - [src] object SplashReagents() onto [target] at [T] ([AREACOORD(T)])[throwerstring] - [reagents.log_list()]") visible_message("[src] spills its contents all over [target].") reagents.reaction(target, TOUCH) diff --git a/code/modules/reagents/reagent_containers/borghypo.dm b/code/modules/reagents/reagent_containers/borghypo.dm index 0b3e5bcf75..a581463da2 100644 --- a/code/modules/reagents/reagent_containers/borghypo.dm +++ b/code/modules/reagents/reagent_containers/borghypo.dm @@ -53,7 +53,7 @@ Borg Hypospray charge_tick = 0 //update_icon() - return 1 + return TRUE // Use this to add more chemicals for the borghypo to produce. /obj/item/reagent_containers/borghypo/proc/add_reagent(datum/reagent/reagent) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index bec2f22590..4c6c311a29 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -29,9 +29,10 @@ M.visible_message("[user] splashes the contents of [src] onto [M]!", \ "[user] splashes the contents of [src] onto [M]!") var/R = reagents?.log_list() - if(isturf(target) && reagents.reagent_list.len && thrownby) - log_combat(thrownby, target, "splashed (thrown) [english_list(reagents.reagent_list)]") - message_admins("[ADMIN_LOOKUPFLW(thrownby)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] at [ADMIN_VERBOSEJMP(target)].") + var/mob/thrown_by = thrownby?.resolve() + if(isturf(target) && reagents.reagent_list.len && thrown_by) + log_combat(thrown_by, target, "splashed (thrown) [english_list(reagents.reagent_list)]") + message_admins("[ADMIN_LOOKUPFLW(thrown_by)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] at [ADMIN_VERBOSEJMP(target)].") reagents.reaction(M, TOUCH) log_combat(user, M, "splashed", R) var/turf/UT = get_turf(user) diff --git a/code/modules/reagents/reagent_containers/patch.dm b/code/modules/reagents/reagent_containers/patch.dm index 8cf98008db..1549859cb2 100644 --- a/code/modules/reagents/reagent_containers/patch.dm +++ b/code/modules/reagents/reagent_containers/patch.dm @@ -28,8 +28,8 @@ /obj/item/reagent_containers/pill/patch/canconsume(mob/eater, mob/user) if(!iscarbon(eater)) - return 0 - return 1 // Masks were stopping people from "eating" patches. Thanks, inheritance. + return FALSE + return TRUE // Masks were stopping people from "eating" patches. Thanks, inheritance. /obj/item/reagent_containers/pill/patch/styptic name = "brute patch" diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index f181e86961..454f53828a 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -189,7 +189,7 @@ if(reagents && reagents.total_volume) return clamp(round((reagents.total_volume / volume * 15),5), 1, 15) else - return 0 + return FALSE /obj/item/reagent_containers/syringe/epinephrine name = "syringe (epinephrine)" diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index 8e4db6f2f2..fb3f775bb0 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -18,7 +18,7 @@ /obj/structure/reagent_dispensers/attackby(obj/item/W, mob/user, params) if(W.is_refillable()) - return 0 //so we can refill them via their afterattack. + return FALSE //so we can refill them via their afterattack. else return ..() diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm index 8be744cd96..a8835d0cee 100644 --- a/code/modules/recycling/disposal/bin.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -359,10 +359,10 @@ if(isitem(AM) && AM.CanEnterDisposals()) if(prob(75)) AM.forceMove(src) - visible_message("[AM] lands in [src].") - update_icon() + visible_message(span_notice("[AM] lands in [src].")) + update_appearance() else - visible_message("[AM] bounces off of [src]'s rim!") + visible_message(span_notice("[AM] bounces off of [src]'s rim!")) return ..() else return ..() diff --git a/code/modules/recycling/disposal/pipe.dm b/code/modules/recycling/disposal/pipe.dm index 6c85bfc3ee..5dd0163204 100644 --- a/code/modules/recycling/disposal/pipe.dm +++ b/code/modules/recycling/disposal/pipe.dm @@ -140,7 +140,7 @@ /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 FALSE return ..() diff --git a/code/modules/research/designs/AI_module_designs.dm b/code/modules/research/designs/AI_module_designs.dm index 98e295b83a..af56575d47 100644 --- a/code/modules/research/designs/AI_module_designs.dm +++ b/code/modules/research/designs/AI_module_designs.dm @@ -15,7 +15,7 @@ desc = "Allows for the construction of a Safeguard AI Module." id = "safeguard_module" materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) - build_path = /obj/item/aiModule/supplied/safeguard + build_path = /obj/item/ai_module/supplied/safeguard category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -24,7 +24,7 @@ desc = "Allows for the construction of a OneCrew AI Module." id = "onehuman_module" materials = list(/datum/material/glass = 1000, /datum/material/diamond = 6000) - build_path = /obj/item/aiModule/zeroth/oneHuman + build_path = /obj/item/ai_module/zeroth/oneHuman category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -33,7 +33,7 @@ desc = "Allows for the construction of a ProtectStation AI Module." id = "protectstation_module" materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) - build_path = /obj/item/aiModule/supplied/protectStation + build_path = /obj/item/ai_module/supplied/protectStation category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -42,7 +42,7 @@ desc = "Allows for the construction of a Quarantine AI Module." id = "quarantine_module" materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) - build_path = /obj/item/aiModule/supplied/quarantine + build_path = /obj/item/ai_module/supplied/quarantine category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -51,7 +51,7 @@ desc = "Allows for the construction of a Safeguard AI Module." id = "oxygen_module" materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) - build_path = /obj/item/aiModule/supplied/oxygen + build_path = /obj/item/ai_module/supplied/oxygen category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -60,7 +60,7 @@ desc = "Allows for the construction of a Freeform AI Module." id = "freeform_module" materials = list(/datum/material/glass = 1000, /datum/material/gold = 10000)//Custom inputs should be more expensive to get - build_path = /obj/item/aiModule/supplied/freeform + build_path = /obj/item/ai_module/supplied/freeform category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -69,7 +69,7 @@ desc = "Allows for the construction of a Reset AI Module." id = "reset_module" materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000) - build_path = /obj/item/aiModule/reset + build_path = /obj/item/ai_module/reset category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -78,7 +78,7 @@ desc = "Allows for the construction of a Purge AI Module." id = "purge_module" materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) - build_path = /obj/item/aiModule/reset/purge + build_path = /obj/item/ai_module/reset/purge category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -87,7 +87,7 @@ desc = "Allows for the construction of a Law Removal AI Core Module." id = "remove_module" materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) - build_path = /obj/item/aiModule/remove + build_path = /obj/item/ai_module/remove category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -96,7 +96,7 @@ desc = "Allows for the construction of a Freeform AI Core Module." id = "freeformcore_module" materials = list(/datum/material/glass = 1000, /datum/material/diamond = 10000)//Ditto - build_path = /obj/item/aiModule/core/freeformcore + build_path = /obj/item/ai_module/core/freeformcore category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -105,7 +105,7 @@ desc = "Allows for the construction of an Asimov AI Core Module." id = "asimov_module" materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) - build_path = /obj/item/aiModule/core/full/asimov + build_path = /obj/item/ai_module/core/full/asimov category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -115,7 +115,7 @@ id = "paladin_module" build_type = IMPRINTER materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) - build_path = /obj/item/aiModule/core/full/paladin + build_path = /obj/item/ai_module/core/full/paladin category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -124,7 +124,7 @@ desc = "Allows for the construction of a T.Y.R.A.N.T. AI Module." id = "tyrant_module" materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) - build_path = /obj/item/aiModule/core/full/tyrant + build_path = /obj/item/ai_module/core/full/tyrant category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -133,7 +133,7 @@ desc = "Allows for the construction of a Corporate AI Core Module." id = "corporate_module" materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) - build_path = /obj/item/aiModule/core/full/corp + build_path = /obj/item/ai_module/core/full/corp category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE @@ -142,6 +142,6 @@ desc = "Allows for the construction of a Default AI Core Module." id = "default_module" materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000) - build_path = /obj/item/aiModule/core/full/custom + build_path = /obj/item/ai_module/core/full/custom category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE diff --git a/code/modules/research/designs/mod_designs.dm b/code/modules/research/designs/mod_designs.dm index 8ceadeb8fb..c0f718e6e5 100644 --- a/code/modules/research/designs/mod_designs.dm +++ b/code/modules/research/designs/mod_designs.dm @@ -91,7 +91,7 @@ build_path = /obj/item/mod/construction/armor/mining materials = list(/datum/material/iron = 6000, /datum/material/titanium = 2000, /datum/material/glass = 1000, /datum/material/plasma = 1000) departmental_flags = DEPARTMENTAL_FLAG_CARGO - research_icon_state = "atmospheric-mining" + research_icon_state = "mining-plating" /datum/design/mod_plating/medical name = "MOD Medical Plating" diff --git a/code/modules/research/machinery/_production.dm b/code/modules/research/machinery/_production.dm index 18888b0871..00d58a201d 100644 --- a/code/modules/research/machinery/_production.dm +++ b/code/modules/research/machinery/_production.dm @@ -107,7 +107,7 @@ /obj/machinery/rnd/production/proc/check_mat(datum/design/being_built, var/mat) // now returns how many times the item can be built with the material if (!materials.mat_container) // no connected silo - return 0 + return FALSE var/list/all_materials = being_built.reagents_list + being_built.materials var/A = materials.mat_container.get_material_amount(mat) @@ -344,10 +344,10 @@ var/datum/component/material_container/mat_container = materials.mat_container if (!mat_container) say("No access to material storage, please contact the quartermaster.") - return 0 + return FALSE if (materials.on_hold()) say("Mineral access is on hold, please contact the quartermaster.") - return 0 + return FALSE var/count = mat_container.retrieve_sheets(text2num(eject_amt), eject_sheet, drop_location()) var/list/matlist = list() matlist[eject_sheet] = MINERAL_MATERIAL_AMOUNT diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm index b54d05eb9e..5d46329462 100644 --- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm +++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm @@ -554,7 +554,7 @@ if(sheets.len > 0) var/obj/item/stack/sheet/S = pick(sheets) - S.amount++ + S.add(1) // Dare var edit directly again and i'll strangle you. to_chat(owner, "[linked_extract] adds a layer of slime to [S], which metamorphosizes into another sheet of material!") return ..() diff --git a/code/modules/research/xenobiology/crossbreeding/_weapons.dm b/code/modules/research/xenobiology/crossbreeding/_weapons.dm index 00748d2609..63fb75abc5 100644 --- a/code/modules/research/xenobiology/crossbreeding/_weapons.dm +++ b/code/modules/research/xenobiology/crossbreeding/_weapons.dm @@ -24,7 +24,7 @@ /obj/item/gun/magic/bloodchill/process() charge_tick++ if(charge_tick < recharge_rate || charges >= max_charges) - return 0 + return FALSE charge_tick = 0 var/mob/living/M = loc if(istype(M) && M.blood_volume >= 5) @@ -32,7 +32,7 @@ M.blood_volume -= 5 if(charges == 1) recharge_newshot() - return 1 + return TRUE /obj/item/ammo_casing/magic/bloodchill projectile_type = /obj/item/projectile/magic/bloodchill diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 72e4366bf3..f292dad5e5 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -47,7 +47,7 @@ //Effect when activated by a Luminescent. Separated into a minor and major effect. Returns cooldown in deciseconds. /obj/item/slime_extract/proc/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) to_chat(user, "Nothing happened... This slime extract cannot be activated this way.") - return 0 + return FALSE //Core-crossing: Feeding adult slimes extracts to obtain a much more powerful, single extract. /obj/item/slime_extract/attack(mob/living/simple_animal/slime/M, mob/user) @@ -97,7 +97,7 @@ to_chat(user, "You spit out [S].") return 350 else - return 0 + return FALSE /obj/item/slime_extract/gold name = "gold slime extract" diff --git a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm index c8bc4b0568..e78628dcd6 100644 --- a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm +++ b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm @@ -85,7 +85,7 @@ to_chat(user, "You fill in the oil well with soil.") O.play_tool_sound(src) deconstruct() - return 1 + return TRUE if(istype(O, /obj/item/reagent_containers)) //Refilling bottles with oil var/obj/item/reagent_containers/RG = O if(RG.is_refillable()) @@ -97,7 +97,7 @@ return FALSE if(user.a_intent != INTENT_HARM) to_chat(user, "You won't have any luck getting \the [O] out if you drop it in the oil.") - return 1 + return TRUE else return ..() @@ -170,14 +170,14 @@ user.gain_trauma(/datum/brain_trauma/magic/stalker) to_chat(user, "Oh no, no no no, THEY'RE EVERYWHERE! EVERY ONE OF THEM IS EVERYWHERE!") first_open = FALSE - return 1 - return 1 + return TRUE + return TRUE else to_chat(user, "You can't dig up a grave with \the [S.name].") - return 1 + return TRUE else to_chat(user, "The grave has already been dug up.") - return 1 + return TRUE else if((user.a_intent != INTENT_HELP) && opened) //checks to attempt to remove the grave entirely. if(istype(S,cutting_tool) && S.tool_behaviour == TOOL_SHOVEL) @@ -186,7 +186,7 @@ to_chat(user, "You remove \the [src] completely.") SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "graverobbing", /datum/mood_event/graverobbing) deconstruct(TRUE) - return 1 + return TRUE return /obj/structure/closet/crate/grave/bust_open() diff --git a/code/modules/ruins/lavalandruin_code/puzzle.dm b/code/modules/ruins/lavalandruin_code/puzzle.dm index 14666e7bcc..2bae9fe9cb 100644 --- a/code/modules/ruins/lavalandruin_code/puzzle.dm +++ b/code/modules/ruins/lavalandruin_code/puzzle.dm @@ -127,12 +127,12 @@ if(A.y > B.y) return -1 if(A.y < B.y) - return 1 + return TRUE if(A.x > B.x) - return 1 + return TRUE if(A.x < B.x) return -1 - return 0 + return FALSE /obj/effect/sliding_puzzle/proc/elements_in_order() return sortTim(elements,cmp=GLOBAL_PROC_REF(cmp_xy_desc)) @@ -207,7 +207,7 @@ /obj/structure/puzzle_element/Move(nloc, dir) if(!isturf(nloc) || moving_diagonally || get_dist(get_step(src,dir),get_turf(source)) > 1) - return 0 + return FALSE else return ..() diff --git a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm index 2e2a9a0312..467182592e 100644 --- a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm +++ b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm @@ -57,7 +57,7 @@ return QDEL_HINT_LETMELIVE /obj/structure/necropolis_gate/singularity_pull() - return 0 + return FALSE /obj/structure/necropolis_gate/CanAllowThrough(atom/movable/mover, turf/target) . = ..() @@ -67,7 +67,7 @@ /obj/structure/necropolis_gate/CheckExit(atom/movable/O, target) if(get_dir(O.loc, target) == dir) return !density - return 1 + return TRUE /obj/structure/opacity_blocker icon = 'icons/effects/96x96.dmi' @@ -81,7 +81,7 @@ anchored = TRUE /obj/structure/opacity_blocker/singularity_pull() - return 0 + return FALSE /obj/structure/opacity_blocker/Destroy(force) if(force) @@ -236,7 +236,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate) add_overlay(top_overlay) /obj/structure/necropolis_arch/singularity_pull() - return 0 + return FALSE /obj/structure/necropolis_arch/Destroy(force) if(force) diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 1fc81e38b8..5cb4a083cb 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -76,7 +76,7 @@ /obj/docking_port/singularity_pull() return /obj/docking_port/singularity_act() - return 0 + return FALSE /obj/docking_port/shuttleRotate() return //we don't rotate with shuttles via this code. @@ -954,7 +954,7 @@ /obj/docking_port/mobile/proc/get_engine_coeff(current,engine_mod) var/new_value = max(0,current + engine_mod) if(new_value == initial_engines) - return 1 + return TRUE if(new_value > initial_engines) var/delta = new_value - initial_engines var/change_per_engine = (1 - ENGINE_COEFF_MIN) / ENGINE_DEFAULT_MAXSPEED_ENGINES // 5 by default diff --git a/code/modules/spells/spell.dm b/code/modules/spells/spell.dm index 4be592b919..28cb9ac36c 100644 --- a/code/modules/spells/spell.dm +++ b/code/modules/spells/spell.dm @@ -165,7 +165,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th if("holdervar") adjust_var(user, holder_var_type, holder_var_amount) if(action) - action.UpdateButtonIcon() + action.UpdateButtons() return TRUE /obj/effect/proc_holder/spell/proc/charge_check(mob/user, silent = FALSE) @@ -220,7 +220,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th /obj/effect/proc_holder/spell/Trigger(mob/user, skip_can_cast = TRUE) if(cast_check(FALSE, user, skip_can_cast)) choose_targets() - return 1 + return TRUE /obj/effect/proc_holder/spell/proc/choose_targets(mob/user = usr) //depends on subtype - /targeted or /aoe_turf return @@ -243,7 +243,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th if(recharging && charge_type == "recharge" && (charge_counter < charge_max)) charge_counter += 2 //processes 5 times per second instead of 10. if(charge_counter >= charge_max) - action.UpdateButtonIcon() + action.UpdateButtons() charge_counter = charge_max recharging = FALSE @@ -259,7 +259,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th cast(targets,user=user) after_cast(targets) if(action) - action.UpdateButtonIcon() + action.UpdateButtons() /obj/effect/proc_holder/spell/proc/before_cast(list/targets) if(overlay) @@ -321,7 +321,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th if("holdervar") adjust_var(user, holder_var_type, -holder_var_amount) if(action) - action.UpdateButtonIcon() + action.UpdateButtons() /obj/effect/proc_holder/spell/proc/adjust_var(mob/living/target = usr, type, amount) //handles the adjustment of the var when the spell is used. has some hardcoded types if (!istype(target)) @@ -438,8 +438,8 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th perform(targets,user=user) -/obj/effect/proc_holder/spell/proc/updateButtonIcon(status_only, force) - action.UpdateButtonIcon(status_only, force) +/obj/effect/proc_holder/spell/proc/UpdateButton(atom/movable/screen/movable/action_button/button, status_only, force) + action.UpdateButtons(status_only, force) /obj/effect/proc_holder/spell/targeted/proc/los_check(mob/A,mob/B) //Checks for obstacles from A to B @@ -449,9 +449,9 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th for(var/atom/movable/AM in turf) if(!AM.CanPass(dummy,turf,1)) qdel(dummy) - return 0 + return FALSE qdel(dummy) - return 1 + return TRUE /obj/effect/proc_holder/spell/proc/can_cast(mob/user = usr, skipcharge = FALSE, silent = FALSE) var/magic_flags = SEND_SIGNAL(user, COMSIG_MOB_SPELL_CAN_CAST, src) diff --git a/code/modules/spells/spell_types/aimed.dm b/code/modules/spells/spell_types/aimed.dm index aa2a2e4083..62f65688d9 100644 --- a/code/modules/spells/spell_types/aimed.dm +++ b/code/modules/spells/spell_types/aimed.dm @@ -43,7 +43,7 @@ if(!action) return action.button_icon_state = "[base_icon_state][active]" - action.UpdateButtonIcon() + action.UpdateButtons() /obj/effect/proc_holder/spell/aimed/InterceptClickOn(mob/living/caller, params, atom/target) if(..()) diff --git a/code/modules/spells/spell_types/lightning.dm b/code/modules/spells/spell_types/lightning.dm index f5aaca2a87..b62cd4ab04 100644 --- a/code/modules/spells/spell_types/lightning.dm +++ b/code/modules/spells/spell_types/lightning.dm @@ -18,7 +18,7 @@ /obj/effect/proc_holder/spell/targeted/tesla/Trigger(mob/user, skip_can_cast = TRUE) if(!ready && cast_check(FALSE, user, skip_can_cast)) StartChargeup(user) - return 1 + return TRUE /obj/effect/proc_holder/spell/targeted/tesla/proc/StartChargeup(mob/user = usr) ready = 1 diff --git a/code/modules/spells/spell_types/pointed/pointed.dm b/code/modules/spells/spell_types/pointed/pointed.dm index 7b942dee27..1c32f04710 100644 --- a/code/modules/spells/spell_types/pointed/pointed.dm +++ b/code/modules/spells/spell_types/pointed/pointed.dm @@ -63,7 +63,7 @@ action.button_icon_state = "[action_icon_state]1" else action.button_icon_state = "[action_icon_state]" - action.UpdateButtonIcon() + action.UpdateButtons() /obj/effect/proc_holder/spell/pointed/InterceptClickOn(mob/living/caller, params, atom/target) if(..()) diff --git a/code/modules/spells/spell_types/taeclowndo.dm b/code/modules/spells/spell_types/taeclowndo.dm index 9d6d71a89f..3566a36a25 100644 --- a/code/modules/spells/spell_types/taeclowndo.dm +++ b/code/modules/spells/spell_types/taeclowndo.dm @@ -54,7 +54,7 @@ else action.button_icon_state = action_icon_state - action.UpdateButtonIcon() + action.UpdateButtons() return ////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/code/modules/spells/spell_types/touch_attacks.dm b/code/modules/spells/spell_types/touch_attacks.dm index a23e16cf88..4f0ac2964f 100644 --- a/code/modules/spells/spell_types/touch_attacks.dm +++ b/code/modules/spells/spell_types/touch_attacks.dm @@ -18,7 +18,7 @@ //Start recharging. attached_hand = null recharging = TRUE - action.UpdateButtonIcon() + action.UpdateButtons() /obj/effect/proc_holder/spell/targeted/touch/cast(list/targets,mob/user = usr) if(!QDELETED(attached_hand)) diff --git a/code/modules/surgery/amputation.dm b/code/modules/surgery/amputation.dm index 2c3524a598..a7c0bb104e 100644 --- a/code/modules/surgery/amputation.dm +++ b/code/modules/surgery/amputation.dm @@ -25,4 +25,4 @@ if(surgery.operated_bodypart) var/obj/item/bodypart/target_limb = surgery.operated_bodypart target_limb.drop_limb() - return 1 + return TRUE diff --git a/code/modules/surgery/bodyparts/helpers.dm b/code/modules/surgery/bodyparts/helpers.dm index 9be468079b..ed802781b3 100644 --- a/code/modules/surgery/bodyparts/helpers.dm +++ b/code/modules/surgery/bodyparts/helpers.dm @@ -94,10 +94,10 @@ //sometimes we want to ignore that we don't have the required amount of arms. /mob/proc/get_arm_ignore() - return 0 + return FALSE /mob/living/carbon/alien/larva/get_arm_ignore() - return 1 //so we can still handcuff larvas. + return TRUE //so we can still handcuff larvas. /mob/proc/get_num_legs(check_disabled = TRUE) diff --git a/code/modules/surgery/cavity_implant.dm b/code/modules/surgery/cavity_implant.dm index 7cc545027c..1b23568a6d 100644 --- a/code/modules/surgery/cavity_implant.dm +++ b/code/modules/surgery/cavity_implant.dm @@ -38,14 +38,14 @@ if(tool) if(IC || tool.w_class > WEIGHT_CLASS_NORMAL || HAS_TRAIT(tool, TRAIT_NODROP) || istype(tool, /obj/item/organ)) to_chat(user, "You can't seem to fit [tool] in [target]'s [target_zone]!") - return 0 + return FALSE else display_results(user, target, "You stuff [tool] into [target]'s [target_zone].", "[user] stuffs [tool] into [target]'s [target_zone]!", "[user] stuffs [tool.w_class > WEIGHT_CLASS_SMALL ? tool : "something"] into [target]'s [target_zone].") user.transferItemToLoc(tool, target, TRUE) CH.cavity_item = tool - return 1 + return TRUE else if(IC) display_results(user, target, "You pull [IC] out of [target]'s [target_zone].", @@ -53,7 +53,7 @@ "[user] pulls [IC.w_class > WEIGHT_CLASS_SMALL ? IC : "something"] out of [target]'s [target_zone].") user.put_in_hands(IC) CH.cavity_item = null - return 1 + return TRUE else to_chat(user, "You don't find anything in [target]'s [target_zone].") - return 0 + return FALSE diff --git a/code/modules/surgery/core_removal.dm b/code/modules/surgery/core_removal.dm index 683663c241..131e56e6b6 100644 --- a/code/modules/surgery/core_removal.dm +++ b/code/modules/surgery/core_removal.dm @@ -8,8 +8,8 @@ /datum/surgery/core_removal/can_start(mob/user, mob/living/target, obj/item/tool) if(target.stat == DEAD) - return 1 - return 0 + return TRUE + return FALSE //extract brain /datum/surgery_step/extract_core name = "extract core" @@ -33,9 +33,9 @@ if(slime.cores <= 0) slime.icon_state = "[slime.colour] baby slime dead-nocore" - return 1 + return TRUE else - return 0 + return FALSE else to_chat(user, "There aren't any cores left in [target]!") - return 1 + return TRUE diff --git a/code/modules/surgery/dental_implant.dm b/code/modules/surgery/dental_implant.dm index f41f299439..e8d0564c62 100644 --- a/code/modules/surgery/dental_implant.dm +++ b/code/modules/surgery/dental_implant.dm @@ -14,28 +14,29 @@ /datum/surgery_step/insert_pill/success(mob/user, mob/living/carbon/target, target_zone, var/obj/item/reagent_containers/pill/tool, datum/surgery/surgery) if(!istype(tool)) - return 0 + return FALSE user.transferItemToLoc(tool, target, TRUE) - var/datum/action/item_action/hands_free/activate_pill/P = new(tool) - P.button.name = "Activate [tool.name]" - P.target = tool - P.Grant(target) //The pill never actually goes in an inventory slot, so the owner doesn't inherit actions from it + var/datum/action/item_action/hands_free/activate_pill/pill_action = new(tool) + pill_action.name = "Activate [tool.name]" + pill_action.UpdateButtons() + pill_action.target = tool + pill_action.Grant(target) //The pill never actually goes in an inventory slot, so the owner doesn't inherit actions from it user.visible_message("[user] wedges \the [tool] into [target]'s [parse_zone(target_zone)]!", "You wedge [tool] into [target]'s [parse_zone(target_zone)].") - return 1 + return TRUE /datum/action/item_action/hands_free/activate_pill name = "Activate Pill" /datum/action/item_action/hands_free/activate_pill/Trigger() if(!..()) - return 0 + return FALSE to_chat(owner, "You grit your teeth and burst the implanted [target.name]!") log_combat(owner, null, "swallowed an implanted pill", target) if(target.reagents.total_volume) target.reagents.reaction(owner, INGEST) target.reagents.trans_to(owner, target.reagents.total_volume, log = "dental pill swallow") qdel(target) - return 1 + return TRUE diff --git a/code/modules/surgery/helpers.dm b/code/modules/surgery/helpers.dm index 652c49519a..7cd315656f 100644 --- a/code/modules/surgery/helpers.dm +++ b/code/modules/surgery/helpers.dm @@ -97,7 +97,7 @@ else if(!current_surgery.step_in_progress) attempt_cancel_surgery(current_surgery, I, M, user) - return 1 + return TRUE /proc/attempt_cancel_surgery(datum/surgery/S, obj/item/I, mob/living/M, mob/user) var/selected_zone = user.zone_selected @@ -128,7 +128,7 @@ /proc/get_location_modifier(mob/M) var/turf/T = get_turf(M) if(locate(/obj/structure/table/optable, T)) - return 1 + return TRUE else if(locate(/obj/structure/table, T)) return 0.8 else if(locate(/obj/structure/bed, T)) @@ -157,42 +157,42 @@ switch(location) if(BODY_ZONE_HEAD) if(covered_locations & HEAD) - return 0 + return FALSE if(BODY_ZONE_PRECISE_EYES) if(covered_locations & HEAD || face_covered & HIDEEYES || eyesmouth_covered & GLASSESCOVERSEYES) - return 0 + return FALSE if(BODY_ZONE_PRECISE_MOUTH) if(covered_locations & HEAD || face_covered & HIDEFACE || eyesmouth_covered & MASKCOVERSMOUTH || eyesmouth_covered & HEADCOVERSMOUTH) - return 0 + return FALSE if(BODY_ZONE_CHEST) if(covered_locations & CHEST) - return 0 + return FALSE if(BODY_ZONE_PRECISE_GROIN) if(covered_locations & GROIN) - return 0 + return FALSE if(BODY_ZONE_L_ARM) if(covered_locations & ARM_LEFT) - return 0 + return FALSE if(BODY_ZONE_R_ARM) if(covered_locations & ARM_RIGHT) - return 0 + return FALSE if(BODY_ZONE_L_LEG) if(covered_locations & LEG_LEFT) - return 0 + return FALSE if(BODY_ZONE_R_LEG) if(covered_locations & LEG_RIGHT) - return 0 + return FALSE if(BODY_ZONE_PRECISE_L_HAND) if(covered_locations & HAND_LEFT) - return 0 + return FALSE if(BODY_ZONE_PRECISE_R_HAND) if(covered_locations & HAND_RIGHT) - return 0 + return FALSE if(BODY_ZONE_PRECISE_L_FOOT) if(covered_locations & FOOT_LEFT) - return 0 + return FALSE if(BODY_ZONE_PRECISE_R_FOOT) if(covered_locations & FOOT_RIGHT) - return 0 + return FALSE - return 1 + return TRUE diff --git a/code/modules/surgery/implant_removal.dm b/code/modules/surgery/implant_removal.dm index 5162fafbc0..6cfabdeb96 100644 --- a/code/modules/surgery/implant_removal.dm +++ b/code/modules/surgery/implant_removal.dm @@ -50,7 +50,7 @@ else to_chat(user, "You can't find anything in [target]'s [target_zone]!") - return 1 + return TRUE /datum/surgery/implant_removal/mechanic name = "implant removal" diff --git a/code/modules/surgery/lipoplasty.dm b/code/modules/surgery/lipoplasty.dm index ecdc5477f1..4689b2e40c 100644 --- a/code/modules/surgery/lipoplasty.dm +++ b/code/modules/surgery/lipoplasty.dm @@ -6,8 +6,8 @@ /datum/surgery/lipoplasty/can_start(mob/user, mob/living/carbon/target, obj/item/tool) if(HAS_TRAIT(target, TRAIT_FAT)) - return 1 - return 0 + return TRUE + return FALSE //cut fat /datum/surgery_step/cut_fat @@ -24,7 +24,7 @@ display_results(user, target, "You cut [target]'s excess fat loose.", "[user] cuts [target]'s excess fat loose!", "[user] finishes the cut on [target]'s [target_zone].") - return 1 + return TRUE //remove fat /datum/surgery_step/remove_fat @@ -56,4 +56,4 @@ newmeat.subjectjob = H.job newmeat.reagents.add_reagent (/datum/reagent/consumable/nutriment, (removednutriment / 15)) //To balance with nutriment_factor of nutriment newmeat.forceMove(target.loc) - return 1 + return TRUE diff --git a/code/modules/surgery/organ_manipulation.dm b/code/modules/surgery/organ_manipulation.dm index fb18d6d155..2ff6f9e1f9 100644 --- a/code/modules/surgery/organ_manipulation.dm +++ b/code/modules/surgery/organ_manipulation.dm @@ -157,4 +157,4 @@ display_results(user, target, "You can't extract anything from [target]'s [parse_zone(target_zone)]!", "[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!", "[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!") - return 1 + return TRUE diff --git a/code/modules/surgery/organic_steps.dm b/code/modules/surgery/organic_steps.dm index 9e93042f63..0e4f103210 100644 --- a/code/modules/surgery/organic_steps.dm +++ b/code/modules/surgery/organic_steps.dm @@ -120,7 +120,7 @@ display_results(user, target, "You saw [target]'s [parse_zone(target_zone)] open.", "[user] saws [target]'s [parse_zone(target_zone)] open!", "[user] saws [target]'s [parse_zone(target_zone)] open!") - return 1 + return TRUE //drill bone /datum/surgery_step/drill @@ -137,4 +137,4 @@ display_results(user, target, "You drill into [target]'s [parse_zone(target_zone)].", "[user] drills into [target]'s [parse_zone(target_zone)]!", "[user] drills into [target]'s [parse_zone(target_zone)]!") - return 1 + return TRUE diff --git a/code/modules/surgery/organs/augments_chest.dm b/code/modules/surgery/organs/augments_chest.dm index 3e143ab923..c96f1d20d2 100644 --- a/code/modules/surgery/organs/augments_chest.dm +++ b/code/modules/surgery/organs/augments_chest.dm @@ -166,7 +166,7 @@ if(crit_fail || (organ_flags & ORGAN_FAILING)) if(!silent) to_chat(owner, "Your thrusters set seems to be broken!") - return 0 + return FALSE on = TRUE if(allow_thrust(0.01)) ion_trail.start() @@ -195,28 +195,28 @@ /obj/item/organ/cyberimp/chest/thrusters/proc/allow_thrust(num) if(!on || !owner) - return 0 + return FALSE var/turf/T = get_turf(owner) if(!T) // No more runtimes from being stuck in nullspace. - return 0 + return FALSE // Priority 1: use air from environment. var/datum/gas_mixture/environment = T.return_air() if(environment && environment.return_pressure() > 30) - return 1 + return TRUE // Priority 2: use plasma from internal plasma storage. // (just in case someone would ever use this implant system to make cyber-alien ops with jetpacks and taser arms) if(owner.getPlasma() >= num*100) owner.adjustPlasma(-num*100) - return 1 + return TRUE // Priority 3: use internals tank. var/obj/item/tank/I = owner.internal if(I && I.air_contents && I.air_contents.total_moles() >= num) T.assume_air_moles(I.air_contents, num) - return 1 + return TRUE toggle(silent = TRUE) - return 0 + return FALSE diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index 75fdbb20e8..d7ae2b73e4 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -49,12 +49,12 @@ /obj/item/organ/heart/proc/Stop() beating = 0 update_icon() - return 1 + return TRUE /obj/item/organ/heart/proc/Restart() beating = 1 update_icon() - return 1 + return TRUE /obj/item/organ/heart/proc/HeartStrengthMessage() if(beating) diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index d4a2663374..a41b2046a0 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -245,7 +245,7 @@ //Try code/modules/mob/living/carbon/brain/brain_item.dm /mob/living/proc/regenerate_organs() - return 0 + return FALSE /mob/living/carbon/regenerate_organs(only_one = FALSE) var/breathes = TRUE diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index e20a0d1447..7cb8ce9538 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -134,7 +134,7 @@ var/cooldown = 0 if(!user || !user.can_speak() || user.stat) - return 0 //no cooldown + return FALSE //no cooldown var/log_message = uppertext(message) if(iscultist(user)) @@ -597,7 +597,7 @@ var/special_check = get_vog_special(user) if(!special_check) - return 0 + return FALSE . = min(base_multiplier * special_check, VOG_MAX_STANDARD_POWER) // anything above should require conscious admin fuckery, as things are balanced around 3 multiplier tops (see: damage being 15*3) if(!specific_listeners.len) @@ -617,7 +617,7 @@ return 0.5 if(user.mind.assigned_role in GLOB.command_positions) return 1.4 // heads are great at speaking with authority - return 1 + return TRUE ////////////////////////////////////// ///////ENTHRAL VELVET CHORDS////////// @@ -665,7 +665,7 @@ /proc/velvetspeech(message, mob/living/user, base_multiplier = 1, message_admins = FALSE, debug = FALSE) if(!user || !user.can_speak() || user.stat) - return 0 //no cooldown + return FALSE //no cooldown var/log_message = message @@ -688,7 +688,7 @@ listeners += L if(!listeners.len) - return 0 + return FALSE //POWER CALCULATIONS diff --git a/code/modules/surgery/prosthetic_replacement.dm b/code/modules/surgery/prosthetic_replacement.dm index b0102da7b7..a40fac6640 100644 --- a/code/modules/surgery/prosthetic_replacement.dm +++ b/code/modules/surgery/prosthetic_replacement.dm @@ -7,10 +7,10 @@ requires_bodypart_type = 0 /datum/surgery/prosthetic_replacement/can_start(mob/user, mob/living/carbon/target, obj/item/tool) if(!iscarbon(target)) - return 0 + return FALSE var/mob/living/carbon/C = target if(!C.get_bodypart(user.zone_selected)) //can only start if limb is missing - return 1 + return TRUE /datum/surgery_step/add_prosthetic name = "add prosthetic" implements = list(/obj/item/bodypart = 100, /obj/item/organ_storage = 100, /obj/item/chainsaw = 100, /obj/item/melee/synthetic_arm_blade = 100) @@ -70,7 +70,7 @@ display_results(user, target, "You succeed in replacing [target]'s [parse_zone(target_zone)].", "[user] successfully replaces [target]'s [parse_zone(target_zone)] with [tool]!", "[user] successfully replaces [target]'s [parse_zone(target_zone)]!") - return 1 + return TRUE else var/obj/item/bodypart/L = target.newBodyPart(target_zone, FALSE, FALSE) L.is_pseudopart = TRUE @@ -82,8 +82,8 @@ if(istype(tool, /obj/item/chainsaw)) var/obj/item/mounted_chainsaw/new_arm = new(target) target_zone == BODY_ZONE_R_ARM ? target.put_in_r_hand(new_arm) : target.put_in_l_hand(new_arm) - return 1 + return TRUE else if(istype(tool, /obj/item/melee/synthetic_arm_blade)) var/obj/item/melee/arm_blade/new_arm = new(target,TRUE,TRUE) target_zone == BODY_ZONE_R_ARM ? target.put_in_r_hand(new_arm) : target.put_in_l_hand(new_arm) - return 1 + return TRUE diff --git a/code/modules/surgery/remove_embedded_object.dm b/code/modules/surgery/remove_embedded_object.dm index dfdb1f7eca..e2304d514b 100644 --- a/code/modules/surgery/remove_embedded_object.dm +++ b/code/modules/surgery/remove_embedded_object.dm @@ -40,4 +40,4 @@ else to_chat(user, "You can't find [target]'s [parse_zone(user.zone_selected)], let alone any objects embedded in it!") - return 1 + return TRUE diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index 9e39ec58e8..0b71c5fbad 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -94,7 +94,7 @@ /datum/surgery/proc/next_step(mob/user, intent) if(step_in_progress) - return 1 + return TRUE var/try_to_fail = FALSE if(intent == INTENT_DISARM) diff --git a/code/modules/tooltip/tooltip.dm b/code/modules/tooltip/tooltip.dm index af5242b57d..290f610f41 100644 --- a/code/modules/tooltip/tooltip.dm +++ b/code/modules/tooltip/tooltip.dm @@ -87,13 +87,13 @@ Notes: /datum/tooltip/proc/hide() + queueHide = showing ? TRUE : FALSE + if (queueHide) addtimer(CALLBACK(src, PROC_REF(do_hide)), 1) else do_hide() - queueHide = showing ? TRUE : FALSE - return TRUE /datum/tooltip/proc/do_hide() diff --git a/code/modules/tooltip/tooltip.html b/code/modules/tooltip/tooltip.html index 2743bc03d5..2f60a2b0b1 100644 --- a/code/modules/tooltip/tooltip.html +++ b/code/modules/tooltip/tooltip.html @@ -80,12 +80,21 @@ .slimecore .wrap {border-color: #18640E;} .slimecore .content {color: #6EA161; border-color: #11450B; background-color: #354E35;} - .operative .wrap {border-color: #1E0101;} - .operative .content {color: #FFFFFF; border-color: #750000; background-color: #350000;} + .operative .wrap {border-color: #13121b;} + .operative .content {color: #b01232; border-color: #13121b; background-color: #282831;} .clockwork .wrap {border-color: #170800;} .clockwork .content {color: #B18B25; border-color: #000000; background-color: #5F380E;} + .glass .wrap {border-color: #273844;} + .glass .content {color: #5b7588; border-color: #273844; background-color: #1f252b;} + + .trasen-knox .wrap {border-color: #998e81;} + .trasen-knox .content {color: #3ce375; border-color: #998e81; background-color: #1e1d21;} + + .detective .wrap {border-color: #2c0F0c;} + .detective .content {color: #c7b08b; border-color: #2c0F0c; background-color: #221c1a;} + @@ -136,21 +145,29 @@ //alert(realIconSize + ' | ' +tooltip.tileSize + ' | ' + resizeRatio); //DEBUG - //Parse out the tile and cursor locations from params (e.g. "icon-x=32;icon-y=29;screen-loc=3:10,15:29") + const parameters = new Object(); + + //Parse out the contents of params (e.g. "icon-x=32;icon-y=29;screen-loc=3:10,15:29") + //It is worth noting that params is not always ordered in the same way. We therefore need to write the code + //To load their values in independantly of their order var paramsA = tooltip.params.cursor.split(';'); - if (paramsA.length < 3) {return false;} //Sometimes screen-loc is never sent ahaha fuck you byond + for (var i = 0; i < paramsA.length; i++) { + var entry = paramsA[i]; + var nameAndValue = entry.split("="); + parameters[nameAndValue[0]] = nameAndValue[1]; + } + + //Sometimes screen-loc is never sent ahaha fuck you byond + if (!parameters["icon-x"] || !parameters["icon-y"] || !parameters["screen-loc"]) { + return false; + } //icon-x - var iconX = paramsA[0]; - iconX = iconX.split('='); - iconX = parseInt(iconX[1]); + var iconX = parseInt(parameters["icon-x"]); //icon-y - var iconY = paramsA[1]; - iconY = iconY.split('='); - iconY = parseInt(iconY[1]); + var iconY = parseInt(parameters["icon-y"]); //screen-loc - var screenLoc = paramsA[2]; - screenLoc = screenLoc.split('='); - screenLoc = screenLoc[1].split(','); + var screenLoc = parameters["screen-loc"]; + screenLoc = screenLoc.split(','); if (screenLoc.length < 2) {return false;} var left = screenLoc[0]; var top = screenLoc[1]; diff --git a/code/modules/unit_tests/merge_type.dm b/code/modules/unit_tests/merge_type.dm index 1aed82e6a3..373ffa2b66 100644 --- a/code/modules/unit_tests/merge_type.dm +++ b/code/modules/unit_tests/merge_type.dm @@ -9,7 +9,9 @@ var/list/paths = subtypesof(/obj/item/stack) - blacklist - for(var/stackpath in paths) + for(var/obj/item/stack/stackpath as anything in paths) + if(initial(stackpath.is_cyborg)) + continue var/obj/item/stack/stack = new stackpath if(!stack.merge_type) Fail("([stack]) lacks set merge_type variable!") diff --git a/code/modules/unit_tests/vore_tests.dm b/code/modules/unit_tests/vore_tests.dm index 6549aa9ce7..3a8df28479 100644 --- a/code/modules/unit_tests/vore_tests.dm +++ b/code/modules/unit_tests/vore_tests.dm @@ -35,11 +35,11 @@ H = new(T) startOxyloss = H.getOxyLoss() - return 1 + return TRUE /datum/unit_test/space_suffocation/check_result() if(H.life_tick < 10) - return 0 + return FALSE endOxyloss = H.getOxyLoss() @@ -47,7 +47,7 @@ Fail("Human mob is not taking oxygen damage in space. (Before: [startOxyloss]; after: [endOxyloss])") qdel(H) - return 1 + return TRUE /datum/unit_test/belly_nonsuffocation name = "MOB: human mob does not suffocate in a belly" diff --git a/code/modules/uplink/uplink_items/uplink_devices.dm b/code/modules/uplink/uplink_items/uplink_devices.dm index 3a6aed2009..a924b56563 100644 --- a/code/modules/uplink/uplink_items/uplink_devices.dm +++ b/code/modules/uplink/uplink_items/uplink_devices.dm @@ -145,13 +145,13 @@ name = "Hacked AI Law Upload Module" desc = "When used with an upload console, this module allows you to upload priority laws to an artificial intelligence. \ Be careful with wording, as artificial intelligences may look for loopholes to exploit." - item = /obj/item/aiModule/syndicate + item = /obj/item/ai_module/syndicate cost = 9 /datum/uplink_item/device_tools/damaged_module name = "Damaged AI Law Upload Module" desc = "This AI law upload module has been laying around our warehouse for god knows how long. We do not know why you would ever use this." - item = /obj/item/aiModule/core/full/damaged + item = /obj/item/ai_module/core/full/damaged cost = 5 /datum/uplink_item/device_tools/headsetupgrade diff --git a/code/modules/vehicles/mecha/_mecha.dm b/code/modules/vehicles/mecha/_mecha.dm index e2f09f3465..91295b86e8 100644 --- a/code/modules/vehicles/mecha/_mecha.dm +++ b/code/modules/vehicles/mecha/_mecha.dm @@ -198,7 +198,8 @@ /obj/vehicle/sealed/mecha/Destroy() for(var/ejectee in occupants) - mob_exit(ejectee, TRUE, TRUE) + mob_exit(ejectee, silent = TRUE) + if(LAZYLEN(equipment)) for(var/obj/item/mecha_parts/mecha_equipment/equip as anything in equipment) equip.detach(loc) @@ -215,6 +216,8 @@ QDEL_NULL(cabin_air) QDEL_NULL(spark_system) QDEL_NULL(smoke_system) + QDEL_NULL(trackers) + QDEL_NULL(wires) GLOB.poi_list -= src GLOB.mechas_list -= src //global mech list @@ -223,14 +226,39 @@ return ..() /obj/vehicle/sealed/mecha/obj_destruction() + spark_system?.start() loc.assume_air(cabin_air) air_update_turf(FALSE, FALSE) + + var/mob/living/silicon/ai/unlucky_ai for(var/mob/living/occupant as anything in occupants) if(isAI(occupant)) - occupant.gib() //No wreck, no AI to recover + var/mob/living/silicon/ai/ai = occupant + if(!ai.linked_core) // we probably shouldnt gib AIs with a core + unlucky_ai = occupant + ai.investigate_log("has been gibbed by having their mech destroyed.", INVESTIGATE_DEATHS) + ai.gib() //No wreck, no AI to recover + else + mob_exit(ai,silent = TRUE, forced = TRUE) // so we dont ghost the AI continue - mob_exit(occupant, FALSE, TRUE) - occupant.SetSleeping(destruction_sleep_duration) + mob_exit(occupant, forced = TRUE) + if(!isbrain(occupant)) // who would win.. 1 brain vs 1 sleep proc.. + occupant.SetSleeping(destruction_sleep_duration) + + if(wreckage) + var/obj/structure/mecha_wreckage/WR = new wreckage(loc, unlucky_ai) + for(var/obj/item/mecha_parts/mecha_equipment/E in equipment) + if(E.detachable && prob(30)) + WR.crowbar_salvage += E + E.detach(WR) //detaches from src into WR + else + E.detach(loc) + qdel(E) + if(cell) + WR.crowbar_salvage += cell + cell.forceMove(WR) + cell.use(rand(0, cell.charge), TRUE) + cell = null return ..() /obj/vehicle/sealed/mecha/update_icon() @@ -480,7 +508,7 @@ var/mob/living/occupant = b if(!enclosed && occupant?.incapacitated()) //no sides mean it's easy to just sorta fall out if you're incapacitated. visible_message("[occupant] tumbles out of the cockpit!") - mob_try_exit(occupant, TRUE, TRUE) //bye bye + mob_exit(occupant, randomstep = TRUE) //bye bye //Diagnostic HUD updates diag_hud_set_mechhealth() @@ -796,19 +824,31 @@ to_chat(user, "Take control of exosuit?
    ") /obj/vehicle/sealed/mecha/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card) - if(!..()) + . = ..() + if(!.) return //Transfer from core or card to mech. Proc is called by mech. switch(interaction) if(AI_TRANS_TO_CARD) //Upload AI from mech to AI card. if(!construction_state) //Mech must be in maint mode to allow carding. - to_chat(user, "[name] must have maintenance protocols active in order to allow a transfer.") + to_chat(user, span_warning("[name] must have maintenance protocols active in order to allow a transfer.")) return - if(!locate(AI) in occupants) //Mech does not have an AI for a pilot - to_chat(user, "No AI detected in the [name] onboard computer.") + var/list/ai_pilots = list() + for(var/mob/living/silicon/ai/aipilot in occupants) + ai_pilots += aipilot + if(!length(ai_pilots)) //Mech does not have an AI for a pilot + to_chat(user, span_warning("No AI detected in the [name] onboard computer.")) return - for(var/mob/living/silicon/ai in occupants) + if(length(ai_pilots) > 1) //Input box for multiple AIs, but if there's only one we'll default to them. + AI = tgui_input_list(user, "Which AI do you wish to card?", "AI Selection", sort_list(ai_pilots)) + else + AI = ai_pilots[1] + if(isnull(AI)) + return + if(!(AI in occupants) || !user.Adjacent(src)) + return //User sat on the selection window and things changed. + AI.ai_restore_power()//So the AI initially has power. AI.control_disabled = TRUE AI.radio_enabled = FALSE @@ -819,36 +859,37 @@ card.AI = AI AI.controlled_equipment = null AI.remote_control = null - to_chat(AI, "You have been downloaded to a mobile storage device. Wireless connection offline.") - to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) removed from [name] and stored within local memory.") + to_chat(AI, span_notice("You have been downloaded to a mobile storage device. Wireless connection offline.")) + to_chat(user, "[span_boldnotice("Transfer successful")]: [AI.name] ([rand(1000,9999)].exe) removed from [name] and stored within local memory.") + return if(AI_MECH_HACK) //Called by AIs on the mech - AI.linked_core = new /obj/structure/AIcore/deactivated(AI.loc) - if(AI.can_dominate_mechs) - if(LAZYLEN(occupants)) //Oh, I am sorry, were you using that? - to_chat(AI, "Occupants detected! Forced ejection initiated!") - to_chat(occupants, "You have been forcibly ejected!") - ejectall() //IT IS MINE, NOW. SUCK IT, RD! - ai_enter_mech(AI, interaction) + AI.linked_core = new /obj/structure/ai_core/deactivated(AI.loc) + if(AI.can_dominate_mechs && LAZYLEN(occupants)) //Oh, I am sorry, were you using that? + to_chat(AI, span_warning("Occupants detected! Forced ejection initiated!")) + to_chat(occupants, span_danger("You have been forcibly ejected!")) + for(var/ejectee in occupants) + mob_exit(ejectee, silent = TRUE, randomstep = TRUE, forced = TRUE) //IT IS MINE, NOW. SUCK IT, RD! + AI.can_shunt = FALSE //ONE AI ENTERS. NO AI LEAVES. if(AI_TRANS_FROM_CARD) //Using an AI card to upload to a mech. AI = card.AI if(!AI) - to_chat(user, "There is no AI currently installed on this device.") + to_chat(user, span_warning("There is no AI currently installed on this device.")) return if(AI.deployed_shell) //Recall AI if shelled so it can be checked for a client AI.disconnect_shell() if(AI.stat || !AI.client) - to_chat(user, "[AI.name] is currently unresponsive, and cannot be uploaded.") + to_chat(user, span_warning("[AI.name] is currently unresponsive, and cannot be uploaded.")) return if((LAZYLEN(occupants) >= max_occupants) || dna_lock) //Normal AIs cannot steal mechs! - to_chat(user, "Access denied. [name] is [LAZYLEN(occupants) >= max_occupants ? "currently fully occupied" : "secured with a DNA lock"].") + to_chat(user, span_warning("Access denied. [name] is [LAZYLEN(occupants) >= max_occupants ? "currently fully occupied" : "secured with a DNA lock"].")) return AI.control_disabled = FALSE AI.radio_enabled = TRUE - to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.") + to_chat(user, "[span_boldnotice("Transfer successful")]: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.") card.AI = null - ai_enter_mech(AI, interaction) + ai_enter_mech(AI) //Hack and From Card interactions share some code, so leave that here for both to use. /obj/vehicle/sealed/mecha/proc/ai_enter_mech(mob/living/silicon/ai/AI, interaction) @@ -865,7 +906,6 @@ "You have been uploaded to a mech's onboard computer.") to_chat(AI, "Use Middle-Mouse to activate mech functions and equipment. Click normally for AI interactions.") - ///Handles an actual AI (simple_animal mecha pilot) entering the mech /obj/vehicle/sealed/mecha/proc/aimob_enter_mech(mob/living/simple_animal/hostile/syndicate/mecha_pilot/pilot_mob) if(pilot_mob && pilot_mob.Adjacent(src)) @@ -1042,47 +1082,45 @@ if(isAI(user)) var/mob/living/silicon/ai/AI = user if(!AI.can_shunt) - to_chat(AI, "You can't leave a mech after dominating it!.") + to_chat(AI, span_notice("You can't leave a mech after dominating it!.")) return FALSE - to_chat(user, "You begin the ejection procedure. Equipment is disabled during this process. Hold still to finish ejecting.") + to_chat(user, span_notice("You begin the ejection procedure. Equipment is disabled during this process. Hold still to finish ejecting.")) is_currently_ejecting = TRUE - if(do_after(user, exit_delay , target = src)) - to_chat(user, "You exit the mech.") - mob_try_exit(user, silent = FALSE) + if(do_after(user, has_gravity() ? exit_delay : 0 , target = src)) + to_chat(user, span_notice("You exit the mech.")) + mob_exit(user, silent = TRUE) else - to_chat(user, "You stop exiting the mech. Weapons are enabled again.") + to_chat(user, span_notice("You stop exiting the mech. Weapons are enabled again.")) is_currently_ejecting = FALSE -/obj/vehicle/sealed/mecha/proc/ejectall() - for(var/ejectee in occupants) - mob_try_exit(ejectee, TRUE, TRUE) - -/obj/vehicle/sealed/mecha/mob_try_exit(mob/M, silent, randomstep) - mob_exit(M, silent, randomstep) - -/obj/vehicle/sealed/mecha/mob_exit(mob/M, silent, forced) - var/newloc = get_turf(src) +/obj/vehicle/sealed/mecha/mob_exit(mob/M, silent = FALSE, randomstep = FALSE, forced = FALSE) var/atom/movable/mob_container + var/turf/newloc = get_turf(src) if(ishuman(M)) - remove_occupant(M) - ..() - return + mob_container = M else if(isbrain(M)) var/mob/living/brain/brain = M mob_container = brain.container else if(isAI(M)) var/mob/living/silicon/ai/AI = M + //stop listening to this signal, as the static update is now handled by the eyeobj's setLoc + AI.eyeobj?.UnregisterSignal(src, COMSIG_MOVABLE_MOVED) + AI.eyeobj?.forceMove(newloc) //kick the eye out as well if(forced)//This should only happen if there are multiple AIs in a round, and at least one is Malf. - AI.gib() //If one Malf decides to steal a mech from another AI (even other Malfs!), they are destroyed, as they have nowhere to go when replaced. + if(!AI.linked_core) //if the victim AI has no core + AI.investigate_log("has been gibbed by being forced out of their mech by another AI.", INVESTIGATE_DEATHS) + AI.gib() //If one Malf decides to steal a mech from another AI (even other Malfs!), they are destroyed, as they have nowhere to go when replaced. AI = null mecha_flags &= ~SILICON_PILOT return else if(!AI.linked_core) - to_chat(AI, "Inactive core destroyed. Unable to return.") + if(!silent) + to_chat(AI, span_userdanger("Inactive core destroyed. Unable to return.")) AI.linked_core = null return - to_chat(AI, "Returning to core...") + if(!silent) + to_chat(AI, span_notice("Returning to core...")) AI.controlled_equipment = null AI.remote_control = null mob_container = AI @@ -1090,21 +1128,20 @@ qdel(AI.linked_core) else return ..() - var/mob/living/L = M + var/mob/living/ejector = M mecha_flags &= ~SILICON_PILOT - if(mob_container.forceMove(newloc)) - log_message("[mob_container] moved out.", LOG_MECHA) - L << browse(null, "window=exosuit") + mob_container.forceMove(newloc)//ejecting mob container + log_message("[mob_container] moved out.", LOG_MECHA) + SStgui.close_user_uis(M, src) if(istype(mob_container, /obj/item/mmi)) var/obj/item/mmi/mmi = mob_container if(mmi.brainmob) - L.forceMove(mmi) - L.reset_perspective() - remove_occupant(L) + ejector.forceMove(mmi) + ejector.reset_perspective() + remove_occupant(ejector) mmi.mecha = null - mmi.update_icon() - L.mobility_flags = NONE - setDir(dir_in) + mmi.update_appearance() + setDir(SOUTH) return ..() diff --git a/code/modules/vehicles/mecha/combat/durand.dm b/code/modules/vehicles/mecha/combat/durand.dm index 61aefa9325..bfc259d79a 100644 --- a/code/modules/vehicles/mecha/combat/durand.dm +++ b/code/modules/vehicles/mecha/combat/durand.dm @@ -194,7 +194,7 @@ own integrity back to max. Shield is automatically dropped if we run out of powe for(var/occupant in chassis.occupants) var/datum/action/button = chassis.occupant_actions[occupant][/datum/action/vehicle/sealed/mecha/mech_defense_mode] button.button_icon_state = "mech_defense_mode_[chassis.defense_mode ? "on" : "off"]" - button.UpdateButtonIcon() + button.UpdateButtons() set_light(light_range, light_power, light_color) diff --git a/code/modules/vehicles/mecha/combat/neovgre.dm b/code/modules/vehicles/mecha/combat/neovgre.dm index d8704e0318..feb14e3f24 100644 --- a/code/modules/vehicles/mecha/combat/neovgre.dm +++ b/code/modules/vehicles/mecha/combat/neovgre.dm @@ -25,7 +25,7 @@ else add_control_flags(M, VEHICLE_CONTROL_MELEE|VEHICLE_CONTROL_EQUIPMENT) -/obj/vehicle/sealed/mecha/combat/neovgre/mob_exit(mob/M, silent, forced) +/obj/vehicle/sealed/mecha/combat/neovgre/mob_exit(mob/M, silent, randomstep, forced) if(forced) ..() @@ -98,5 +98,5 @@ /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy/neovgre/can_attach(obj/vehicle/sealed/mecha/combat/neovgre/M) if(istype(M)) - return 1 - return 0 + return TRUE + return FALSE diff --git a/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm b/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm index cb9e471ff8..b57fc44c63 100644 --- a/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm @@ -9,7 +9,7 @@ /obj/item/mecha_parts/mecha_equipment/medical/can_attach(obj/vehicle/sealed/mecha/medical/M) if(..() && istype(M)) - return 1 + return TRUE /obj/item/mecha_parts/mecha_equipment/medical/attach(obj/vehicle/sealed/mecha/M) @@ -46,7 +46,7 @@ return ..() /obj/item/mecha_parts/mecha_equipment/medical/sleeper/Exit(atom/movable/O) - return 0 + return FALSE /obj/item/mecha_parts/mecha_equipment/medical/sleeper/action(mob/source, mob/living/carbon/target, params) if(!action_checks(target)) @@ -197,7 +197,7 @@ /obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/inject_reagent(datum/reagent/R,obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/SG) if(!R || !patient || !SG || !(SG in chassis.equipment)) - return 0 + return FALSE var/to_inject = min(R.volume, inject_amount) if(to_inject && patient.reagents.get_reagent_amount(R.type) + to_inject <= inject_amount*2) to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]Injecting [patient] with [to_inject] units of [R.name].") @@ -213,7 +213,7 @@ send_byjax(chassis.occupants,"msleeper.browser","lossinfo",get_patient_dam()) send_byjax(chassis.occupants,"msleeper.browser","reagents",get_patient_reagents()) send_byjax(chassis.occupants,"msleeper.browser","injectwith",get_available_reagents()) - return 1 + return TRUE return /obj/item/mecha_parts/mecha_equipment/medical/sleeper/container_resist(mob/living/user) @@ -456,23 +456,23 @@ if(syringes.len= 2) to_chat(user, "[icon2html(src, user)]The syringe is too far away!") - return 0 + return FALSE for(var/obj/structure/D in S.loc)//Basic level check for structures in the way (Like grilles and windows) if(!(D.CanPass(S,src.loc))) to_chat(user, "[icon2html(src, user)]Unable to load syringe!") - return 0 + return FALSE for(var/obj/machinery/door/D in S.loc)//Checks for doors if(!(D.CanPass(S,src.loc))) to_chat(user, "[icon2html(src, user)]Unable to load syringe!") - return 0 + return FALSE S.reagents.trans_to(src, S.reagents.total_volume) S.forceMove(src) syringes += S to_chat(user, "[icon2html(src, user)]Syringe loaded.") update_equip_info() - return 1 + return TRUE to_chat(user, "[icon2html(src, user)][src]'s syringe chamber is full!") - return 0 + return FALSE /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/proc/analyze_reagents(atom/A, mob/user) if(get_dist(src,A) >= 4) diff --git a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm index 348a4bb6ec..b25a8ae600 100644 --- a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm @@ -410,7 +410,7 @@ return units else to_chat(user, "[icon2html(src, user)]Unit is full.") - return 0 + return FALSE else to_chat(user, "[icon2html(src, user)][fuel] traces in target minimal! [P] cannot be used as fuel.") return diff --git a/code/modules/vehicles/mecha/equipment/tools/work_tools.dm b/code/modules/vehicles/mecha/equipment/tools/work_tools.dm index dd9448a826..8c64384d78 100644 --- a/code/modules/vehicles/mecha/equipment/tools/work_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/work_tools.dm @@ -19,8 +19,8 @@ /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/can_attach(obj/vehicle/sealed/mecha/working/ripley/M) if(..()) if(istype(M)) - return 1 - return 0 + return TRUE + return FALSE /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/attach(obj/vehicle/sealed/mecha/M) ..() @@ -239,7 +239,7 @@ if(W.loc == my_target) break sleep(2) - return 1 + return TRUE /obj/item/mecha_parts/mecha_equipment/extinguisher/get_equip_info() return "[..()] \[[src.reagents.total_volume]\]" @@ -247,8 +247,8 @@ /obj/item/mecha_parts/mecha_equipment/extinguisher/can_attach(obj/vehicle/sealed/mecha/working/M as obj) if(..()) if(istype(M)) - return 1 - return 0 + return TRUE + return FALSE diff --git a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm index b8818ef3f7..9254bc2ed4 100644 --- a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm +++ b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm @@ -426,8 +426,8 @@ /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/banana_mortar/can_attach(obj/vehicle/sealed/mecha/combat/honker/M) if(..()) if(istype(M)) - return 1 - return 0 + return TRUE + return FALSE /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/mousetrap_mortar name = "mousetrap mortar" @@ -444,8 +444,8 @@ /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/mousetrap_mortar/can_attach(obj/vehicle/sealed/mecha/combat/honker/M) if(..()) if(istype(M)) - return 1 - return 0 + return TRUE + return FALSE /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/mousetrap_mortar/proj_init(obj/item/assembly/mousetrap/armed/M) M.secured = 1 @@ -475,8 +475,8 @@ /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove/can_attach(obj/vehicle/sealed/mecha/combat/honker/M) if(..()) if(istype(M)) - return 1 - return 0 + return TRUE + return FALSE /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove/get_equip_info() if(!chassis) diff --git a/code/modules/vehicles/mecha/mech_fabricator.dm b/code/modules/vehicles/mecha/mech_fabricator.dm index f69770ca59..7caf0858fc 100644 --- a/code/modules/vehicles/mecha/mech_fabricator.dm +++ b/code/modules/vehicles/mecha/mech_fabricator.dm @@ -632,10 +632,10 @@ var/datum/component/material_container/mat_container = rmat.mat_container if (!mat_container) say("No access to material storage, please contact the quartermaster.") - return 0 + return FALSE if (rmat.on_hold()) say("Mineral access is on hold, please contact the quartermaster.") - return 0 + return FALSE var/count = mat_container.retrieve_sheets(text2num(eject_amt), eject_sheet, drop_location()) var/list/matlist = list() matlist[eject_sheet] = text2num(eject_amt) diff --git a/code/modules/vehicles/mecha/mech_melee_attack.dm b/code/modules/vehicles/mecha/mech_melee_attack.dm index 2f5faea172..81784ddbd0 100644 --- a/code/modules/vehicles/mecha/mech_melee_attack.dm +++ b/code/modules/vehicles/mecha/mech_melee_attack.dm @@ -35,9 +35,9 @@ playsound(src, 'sound/items/welder.ogg', 50, TRUE) if(TOX) playsound(src, 'sound/effects/spray2.ogg', 50, TRUE) - return 0 + return FALSE else - return 0 + return FALSE mecha_attacker.visible_message("[mecha_attacker.name] hits [src]!", "You hit [src]!", null, COMBAT_MESSAGE_RANGE) return take_damage(mecha_attacker.force * 3, mech_damtype, MELEE, play_soundeffect, get_dir(src, mecha_attacker)) // multiplied by 3 so we can hit objs hard but not be overpowered against mobs. diff --git a/code/modules/vehicles/mecha/mecha_actions.dm b/code/modules/vehicles/mecha/mecha_actions.dm index 09ccaad2c2..976ffea40a 100644 --- a/code/modules/vehicles/mecha/mecha_actions.dm +++ b/code/modules/vehicles/mecha/mecha_actions.dm @@ -37,7 +37,7 @@ button_icon_state = "mech_internals_[chassis.use_internal_tank ? "on" : "off"]" to_chat(chassis.occupants, "[icon2html(chassis, owner)]Now taking air from [chassis.use_internal_tank?"internal airtank":"environment"].") chassis.log_message("Now taking air from [chassis.use_internal_tank?"internal airtank":"environment"].", LOG_MECHA) - UpdateButtonIcon() + UpdateButtons() /datum/action/vehicle/sealed/mecha/mech_cycle_equip name = "Cycle Equipment" @@ -61,7 +61,7 @@ to_chat(owner, "[icon2html(chassis, owner)]You select [chassis.selected].") send_byjax(chassis.occupants,"exosuit.browser","eq_list",chassis.get_equipment_list()) button_icon_state = "mech_cycle_equip_on" - UpdateButtonIcon() + UpdateButtons() return var/number = 0 for(var/equipment in available_equipment) @@ -77,7 +77,7 @@ to_chat(owner, "[icon2html(chassis, owner)]You switch to [chassis.selected].") button_icon_state = "mech_cycle_equip_on" send_byjax(chassis.occupants,"exosuit.browser","eq_list",chassis.get_equipment_list()) - UpdateButtonIcon() + UpdateButtons() return @@ -100,7 +100,7 @@ chassis.set_light(0) to_chat(owner, "[icon2html(chassis, owner)]Toggled lights [(chassis.mecha_flags & LIGHTS_ON)?"on":"off"].") chassis.log_message("Toggled lights [(chassis.mecha_flags & LIGHTS_ON)?"on":"off"].", LOG_MECHA) - UpdateButtonIcon() + UpdateButtons() /datum/action/vehicle/sealed/mecha/mech_view_stats name = "View Stats" @@ -140,7 +140,7 @@ for(var/occupant in occupants) var/datum/action/action = LAZYACCESSASSOC(occupant_actions, occupant, /datum/action/vehicle/sealed/mecha/strafe) - action?.UpdateButtonIcon() + action?.UpdateButtons() //////////////////////////////////////// Specific Ability Actions /////////////////////////////////////////////// //Need to be granted by the mech type, Not default abilities. @@ -176,7 +176,7 @@ chassis.movedelay = initial(chassis.movedelay) chassis.step_energy_drain = chassis.normal_step_energy_drain to_chat(owner, "[icon2html(chassis, owner)]You disable leg actuators overload.") - UpdateButtonIcon() + UpdateButtons() /datum/action/vehicle/sealed/mecha/mech_smoke name = "Smoke" @@ -208,7 +208,7 @@ SEND_SOUND(owner, sound('sound/mecha/imag_enh.ogg',volume=50)) else owner.client.view_size.resetToDefault() //Let's not let this stack shall we? - UpdateButtonIcon() + UpdateButtons() /datum/action/vehicle/sealed/mecha/mech_switch_damtype name = "Reconfigure arm microtool arrays" @@ -231,7 +231,7 @@ chassis.damtype = new_damtype button_icon_state = "mech_damtype_[new_damtype]" playsound(chassis, 'sound/mecha/mechmove01.ogg', 50, TRUE) - UpdateButtonIcon() + UpdateButtons() ///swap seats, for two person mecha /datum/action/vehicle/sealed/mecha/swap_seat @@ -272,4 +272,4 @@ chassis.phasing = !chassis.phasing button_icon_state = "mech_phasing_[chassis.phasing ? "on" : "off"]" to_chat(owner, "[icon2html(chassis, owner)]En":"#f00\">Dis"]abled phasing.") - UpdateButtonIcon() + UpdateButtons() diff --git a/code/modules/vehicles/mecha/mecha_defense.dm b/code/modules/vehicles/mecha/mecha_defense.dm index 6e63265b9d..8bdb38abc3 100644 --- a/code/modules/vehicles/mecha/mecha_defense.dm +++ b/code/modules/vehicles/mecha/mecha_defense.dm @@ -24,7 +24,7 @@ /obj/vehicle/sealed/mecha/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) . = ..() if(!damage_amount) - return 0 + return FALSE var/booster_deflection_modifier = 1 var/booster_damage_modifier = 1 if(damage_flag == BULLET || damage_flag == LASER || damage_flag == ENERGY) @@ -47,7 +47,7 @@ if(prob(deflect_chance * booster_deflection_modifier)) visible_message("[src]'s armour deflects the attack!") log_message("Armor saved.", LOG_MECHA) - return 0 + return FALSE if(.) . *= booster_damage_modifier @@ -72,7 +72,7 @@ log_message("Attack by simple animal. Attacker - [user].", LOG_MECHA, color="red") if(!user.melee_damage_upper && !user.obj_damage) user.emote("custom", message = "[user.friendly_verb_continuous] [src].") - return 0 + return FALSE else var/play_soundeffect = 1 if(user.environment_smash) @@ -84,7 +84,7 @@ animal_damage = min(animal_damage, 20*user.environment_smash) log_combat(user, src, "attacked") attack_generic(user, animal_damage, user.melee_damage_type, MELEE, play_soundeffect) - return 1 + return TRUE /obj/vehicle/sealed/mecha/hulk_damage() @@ -105,7 +105,7 @@ /obj/vehicle/sealed/mecha/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) //wrapper log_message("Hit by [AM].", LOG_MECHA, color="red") - . = ..() + return ..() /obj/vehicle/sealed/mecha/bullet_act(obj/item/projectile/Proj) //wrapper if(!enclosed && LAZYLEN(occupants) && !(mecha_flags & SILICON_PILOT) && !Proj.force_hit && (Proj.def_zone == BODY_ZONE_HEAD || Proj.def_zone == BODY_ZONE_CHEST)) //allows bullets to hit the pilot of open-canopy mechs diff --git a/code/modules/vehicles/mecha/working/ripley.dm b/code/modules/vehicles/mecha/working/ripley.dm index 40b2e61402..6518c2fe05 100644 --- a/code/modules/vehicles/mecha/working/ripley.dm +++ b/code/modules/vehicles/mecha/working/ripley.dm @@ -153,7 +153,7 @@ /obj/vehicle/sealed/mecha/working/ripley/Exit(atom/movable/O) if(O in cargo) - return 0 + return FALSE return ..() /obj/vehicle/sealed/mecha/working/ripley/Topic(href, href_list) diff --git a/code/modules/vehicles/scooter.dm b/code/modules/vehicles/scooter.dm index 3b3729848f..c2794fc9af 100644 --- a/code/modules/vehicles/scooter.dm +++ b/code/modules/vehicles/scooter.dm @@ -33,10 +33,10 @@ /obj/vehicle/ridden/scooter/buckle_mob(mob/living/M, force = 0, check_loc = 1) if(!istype(M)) - return 0 + return FALSE if(M.get_num_legs() < 2 && M.get_num_arms() <= 0) to_chat(M, "Your limbless body can't ride \the [src].") - return 0 + return FALSE . = ..() /obj/vehicle/ridden/scooter/skateboard diff --git a/code/modules/vore/hook-defs.dm b/code/modules/vore/hook-defs.dm index 5c3c3d01c8..d48371f13c 100644 --- a/code/modules/vore/hook-defs.dm +++ b/code/modules/vore/hook-defs.dm @@ -33,5 +33,5 @@ if(!hook_vr("human_new",args)) result = 0 - //Return 1 to superhook + //return TRUE to superhook return result diff --git a/code/modules/vore/trycatch.dm b/code/modules/vore/trycatch.dm index d4b1ac2c05..8fcb9ee38d 100644 --- a/code/modules/vore/trycatch.dm +++ b/code/modules/vore/trycatch.dm @@ -24,7 +24,7 @@ The proc you're attemping should return nonzero values on success. catch(var/exception/e) stack_trace("attempt_vr runtimed when calling [procname] on [callon].") stack_trace("attempt_vr catch: [e] on [e.file]:[e.line]") - return 0 + return FALSE /* This is the _vr version of calling hooks. diff --git a/config/maps.txt b/config/maps.txt index 90fe7b0387..327f44c024 100644 --- a/config/maps.txt +++ b/config/maps.txt @@ -55,4 +55,8 @@ map multiz_debug endmap map kilostation -endmap \ No newline at end of file +endmap + +map syndicatestation + minplayers 300 +endmap diff --git a/dependencies.sh b/dependencies.sh index 1c15ed0a99..b5b80d0301 100644 --- a/dependencies.sh +++ b/dependencies.sh @@ -11,8 +11,8 @@ export BYOND_MINOR=1556 export RUST_G_VERSION=0.4.10 #node version -export NODE_VERSION=12 -export NODE_VERSION_PRECISE=12.22.4 +export NODE_VERSION=16 +export NODE_VERSION_PRECISE=16.13.1 # SpacemanDMM git tag export SPACEMAN_DMM_VERSION=suite-1.7 diff --git a/html/font-awesome/README.MD b/html/font-awesome/README.MD index 7d693c36f0..ba9121311d 100644 --- a/html/font-awesome/README.MD +++ b/html/font-awesome/README.MD @@ -1,6 +1,6 @@ Due to the fact browse_rsc can't create subdirectories, every time you update font-awesome you'll need to change relative webfont references in all.min.css eg ../webfonts/fa-regular-400.ttf => fa-regular-400.ttf (or whatever you call it in asset datum) -Second change is ripping out file types other than woff and eot(ie8) from the css +Second change is ripping out file types other than ~~ woff and eot(ie8)~~ ttf from the css -Finally, removing brand related css. \ No newline at end of file +Finally, removing brand related css. diff --git a/html/font-awesome/css/all.min.css b/html/font-awesome/css/all.min.css index e7cdfffe75..7a283f087c 100644 --- a/html/font-awesome/css/all.min.css +++ b/html/font-awesome/css/all.min.css @@ -1,5 +1,6 @@ /*! - * Font Awesome Free 5.9.0 by @fontawesome - https://fontawesome.com + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. */ -.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-wizard:before{content:"\f6e8"}.fa-haykal:before{content:"\f666"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url(fa-regular-400.eot);src:url(fa-regular-400.eot?#iefix) format("embedded-opentype"),url(fa-regular-400.woff) format("woff")}.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(fa-solid-900.eot);src:url(fa-solid-900.eot?#iefix) format("embedded-opentype"),url(fa-solid-900.woff) format("woff")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900} \ No newline at end of file +.fa{font-family:"Font Awesome 6 Free";font-weight:900}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc( 2em*-1);position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border-radius:.1em;border:.08em solid #eee;padding:.2em .25em .15em}.fa-pull-left{float:left;margin-right:.3em}.fa-pull-right{float:right;margin-left:.3em}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:0;animation-delay:0;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:0;animation-delay:0;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:cubic-bezier(.28,.84,.42,1);animation-timing-function:cubic-bezier(.28,.84,.42,1)}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:cubic-bezier(.4,0,.6,1);animation-timing-function:cubic-bezier(.4,0,.6,1)}.fa-beat-fade,.fa-fade{-webkit-animation-delay:0;animation-delay:0;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:1s;animation-duration:1s}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:cubic-bezier(.4,0,.6,1);animation-timing-function:cubic-bezier(.4,0,.6,1)}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:0;animation-delay:0;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}.fa-shake,.fa-spin{-webkit-animation-delay:0;animation-delay:0;-webkit-animation-direction:normal;animation-direction:normal}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:steps(8);animation-timing-function:steps(8)}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(1.25);transform:scale(1.25)}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(1.25);transform:scale(1.25)}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(1.1,.9) translateY(0);transform:scale(1.1,.9) translateY(0)}30%{-webkit-transform:scale(.9,1.1) translateY(-.5em);transform:scale(.9,1.1) translateY(-.5em)}50%{-webkit-transform:scale(1.05,.95) translateY(0);transform:scale(1.05,.95) translateY(0)}57%{-webkit-transform:scale(1) translateY(-.125em);transform:scale(1) translateY(-.125em)}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(1.1,.9) translateY(0);transform:scale(1.1,.9) translateY(0)}30%{-webkit-transform:scale(.9,1.1) translateY(-.5em);transform:scale(.9,1.1) translateY(-.5em)}50%{-webkit-transform:scale(1.05,.95) translateY(0);transform:scale(1.05,.95) translateY(0)}57%{-webkit-transform:scale(1) translateY(-.125em);transform:scale(1) translateY(-.125em)}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:.4}}@keyframes fa-fade{50%{opacity:.4}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:.4;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(1.125);transform:scale(1.125)}}@keyframes fa-beat-fade{0%,to{opacity:.4;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(1.125);transform:scale(1.125)}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(0,1,0,-180deg);transform:rotate3d(0,1,0,-180deg)}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(0,1,0,-180deg);transform:rotate3d(0,1,0,-180deg)}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(none);transform:rotate(none)}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:auto}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-a:before{content:"\41"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-anchor:before{content:"\f13d"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-anchor-lock:before{content:"\e4ad"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-ankh:before{content:"\f644"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-archway:before{content:"\f557"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-arrow-trend-down:before{content:"\e097"}.fa-arrow-trend-up:before{content:"\e098"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-arrows-spin:before{content:"\e4bb"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-asterisk:before{content:"\2a"}.fa-at:before{content:"\40"}.fa-atom:before{content:"\f5d2"}.fa-audio-description:before{content:"\f29e"}.fa-austral-sign:before{content:"\e0a9"}.fa-award:before{content:"\f559"}.fa-b:before{content:"\42"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-backward:before{content:"\f04a"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-baht-sign:before{content:"\e0ac"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-barcode:before{content:"\f02a"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-bell:before{content:"\f0f3"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bicycle:before{content:"\f206"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blog:before{content:"\f781"}.fa-bold:before{content:"\f032"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-book-bookmark:before{content:"\e0bb"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-bookmark:before{content:"\f02e"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-bore-hole:before{content:"\e4c3"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-bottle-water:before{content:"\e4c5"}.fa-bowl-food:before{content:"\e4c6"}.fa-bowl-rice:before{content:"\e2eb"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes-packing:before{content:"\e4c7"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-bread-slice:before{content:"\f7ec"}.fa-bridge:before{content:"\e4c8"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-bridge-water:before{content:"\e4ce"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broom:before{content:"\f51a"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-brush:before{content:"\f55d"}.fa-bucket:before{content:"\e4cf"}.fa-bug:before{content:"\f188"}.fa-bug-slash:before{content:"\e490"}.fa-bugs:before{content:"\e4d0"}.fa-building:before{content:"\f1ad"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-building-circle-check:before{content:"\e4d2"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-building-flag:before{content:"\e4d5"}.fa-building-lock:before{content:"\e4d6"}.fa-building-ngo:before{content:"\e4d7"}.fa-building-shield:before{content:"\e4d8"}.fa-building-un:before{content:"\e4d9"}.fa-building-user:before{content:"\e4da"}.fa-building-wheat:before{content:"\e4db"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-burst:before{content:"\e4dc"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-c:before{content:"\43"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-week:before{content:"\f784"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-camera-rotate:before{content:"\e0d8"}.fa-campground:before{content:"\f6bb"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-car-on:before{content:"\e4dd"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-car-side:before{content:"\f5e4"}.fa-car-tunnel:before{content:"\e4de"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-cart-plus:before{content:"\f217"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cedi-sign:before{content:"\e0df"}.fa-cent-sign:before{content:"\e3f5"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-charging-station:before{content:"\f5e7"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-chart-column:before{content:"\e0e3"}.fa-chart-gantt:before{content:"\e0e4"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-chart-simple:before{content:"\e473"}.fa-check:before{content:"\f00c"}.fa-check-double:before{content:"\f560"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-child-dress:before{content:"\e59c"}.fa-child-reaching:before{content:"\e59d"}.fa-child-rifle:before{content:"\e4e0"}.fa-children:before{content:"\e4e1"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-circle-nodes:before{content:"\e4e2"}.fa-circle-notch:before{content:"\f1ce"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-city:before{content:"\f64f"}.fa-clapperboard:before{content:"\e131"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clipboard-question:before{content:"\e4e3"}.fa-clipboard-user:before{content:"\f7f3"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-clover:before{content:"\e139"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-code-commit:before{content:"\f386"}.fa-code-compare:before{content:"\e13a"}.fa-code-fork:before{content:"\e13b"}.fa-code-merge:before{content:"\f387"}.fa-code-pull-request:before{content:"\e13c"}.fa-coins:before{content:"\f51e"}.fa-colon-sign:before{content:"\e140"}.fa-comment:before{content:"\f075"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-compress:before{content:"\f066"}.fa-computer:before{content:"\e4e5"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cow:before{content:"\f6c8"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-d:before{content:"\44"}.fa-database:before{content:"\f1c0"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-democrat:before{content:"\f747"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-dharmachakra:before{content:"\f655"}.fa-diagram-next:before{content:"\e476"}.fa-diagram-predecessor:before{content:"\e477"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-diagram-successor:before{content:"\e47a"}.fa-diamond:before{content:"\f219"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-disease:before{content:"\f7fa"}.fa-display:before{content:"\e163"}.fa-divide:before{content:"\f529"}.fa-dna:before{content:"\f471"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-dong-sign:before{content:"\e169"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dove:before{content:"\f4ba"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-download:before{content:"\f019"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-e:before{content:"\45"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elevator:before{content:"\e16d"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-equals:before{content:"\3d"}.fa-eraser:before{content:"\f12d"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-exclamation:before{content:"\21"}.fa-expand:before{content:"\f065"}.fa-explosion:before{content:"\e4e9"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-eye-slash:before{content:"\f070"}.fa-f:before{content:"\46"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-fan:before{content:"\f863"}.fa-faucet:before{content:"\e005"}.fa-faucet-drip:before{content:"\e006"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-ferry:before{content:"\e4ea"}.fa-file:before{content:"\f15b"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-file-audio:before{content:"\f1c7"}.fa-file-circle-check:before{content:"\e5a0"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-file-circle-plus:before{content:"\e494"}.fa-file-circle-question:before{content:"\e4ef"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-excel:before{content:"\f1c3"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-file-medical:before{content:"\f477"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-shield:before{content:"\e4f0"}.fa-file-signature:before{content:"\f573"}.fa-file-video:before{content:"\f1c8"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-file-word:before{content:"\f1c2"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-burner:before{content:"\e4f1"}.fa-fire-extinguisher:before{content:"\f134"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-fish:before{content:"\f578"}.fa-fish-fins:before{content:"\e4f2"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flask-vial:before{content:"\e4f3"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-florin-sign:before{content:"\e184"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-folder-closed:before{content:"\e185"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-folder-tree:before{content:"\f802"}.fa-font:before{content:"\f031"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-franc-sign:before{content:"\e18f"}.fa-frog:before{content:"\f52e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-g:before{content:"\47"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-glass-water:before{content:"\e4f4"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-glasses:before{content:"\f530"}.fa-globe:before{content:"\f0ac"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-greater-than:before{content:"\3e"}.fa-greater-than-equal:before{content:"\f532"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-guarani-sign:before{content:"\e19a"}.fa-guitar:before{content:"\f7a6"}.fa-gun:before{content:"\e19b"}.fa-h:before{content:"\48"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-handcuffs:before{content:"\e4f8"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-hands-bound:before{content:"\e4f9"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-hands-clapping:before{content:"\e1a8"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-handshake:before{content:"\f2b5"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-hashtag:before{content:"\23"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-heart-circle-plus:before{content:"\e500"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-helicopter-symbol:before{content:"\e502"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-helmet-un:before{content:"\e503"}.fa-highlighter:before{content:"\f591"}.fa-hill-avalanche:before{content:"\e507"}.fa-hill-rockslide:before{content:"\e508"}.fa-hippo:before{content:"\f6ed"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-house-chimney-user:before{content:"\e065"}.fa-house-chimney-window:before{content:"\e00d"}.fa-house-circle-check:before{content:"\e509"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-house-crack:before{content:"\e3b1"}.fa-house-fire:before{content:"\e50c"}.fa-house-flag:before{content:"\e50d"}.fa-house-flood-water:before{content:"\e50e"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-house-lock:before{content:"\e510"}.fa-house-medical:before{content:"\e3b2"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-house-medical-flag:before{content:"\e514"}.fa-house-signal:before{content:"\e012"}.fa-house-tsunami:before{content:"\e515"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-hurricane:before{content:"\f751"}.fa-i:before{content:"\49"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-images:before{content:"\f302"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-italic:before{content:"\f033"}.fa-j:before{content:"\4a"}.fa-jar:before{content:"\e516"}.fa-jar-wheat:before{content:"\e517"}.fa-jedi:before{content:"\f669"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-jet-fighter-up:before{content:"\e518"}.fa-joint:before{content:"\f595"}.fa-jug-detergent:before{content:"\e519"}.fa-k:before{content:"\4b"}.fa-kaaba:before{content:"\f66b"}.fa-key:before{content:"\f084"}.fa-keyboard:before{content:"\f11c"}.fa-khanda:before{content:"\f66d"}.fa-kip-sign:before{content:"\e1c4"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-kitchen-set:before{content:"\e51a"}.fa-kiwi-bird:before{content:"\f535"}.fa-l:before{content:"\4c"}.fa-land-mine-on:before{content:"\e51b"}.fa-landmark:before{content:"\f66f"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-landmark-flag:before{content:"\e51c"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-file:before{content:"\e51d"}.fa-laptop-medical:before{content:"\f812"}.fa-lari-sign:before{content:"\e1c8"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-lemon:before{content:"\f094"}.fa-less-than:before{content:"\3c"}.fa-less-than-equal:before{content:"\f537"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-lines-leaning:before{content:"\e51e"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-lira-sign:before{content:"\f195"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-location-arrow:before{content:"\f124"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-location-pin-lock:before{content:"\e51f"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-locust:before{content:"\e520"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-m:before{content:"\4d"}.fa-magnet:before{content:"\f076"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-manat-sign:before{content:"\e1d5"}.fa-map:before{content:"\f279"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-pin:before{content:"\f276"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-and-venus:before{content:"\f224"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-mask:before{content:"\f6fa"}.fa-mask-face:before{content:"\e1d7"}.fa-mask-ventilator:before{content:"\e524"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-mattress-pillow:before{content:"\e525"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-medal:before{content:"\f5a2"}.fa-memory:before{content:"\f538"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-mill-sign:before{content:"\e1ed"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-mitten:before{content:"\f7b5"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-mobile-button:before{content:"\f10b"}.fa-mobile-retro:before{content:"\e527"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-money-bills:before{content:"\e1f3"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-mosquito-net:before{content:"\e52c"}.fa-motorcycle:before{content:"\f21c"}.fa-mound:before{content:"\e52d"}.fa-mountain:before{content:"\f6fc"}.fa-mountain-city:before{content:"\e52e"}.fa-mountain-sun:before{content:"\e52f"}.fa-mug-hot:before{content:"\f7b6"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-music:before{content:"\f001"}.fa-n:before{content:"\4e"}.fa-naira-sign:before{content:"\e1f6"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-not-equal:before{content:"\f53e"}.fa-notdef:before{content:"\e1fe"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-notes-medical:before{content:"\f481"}.fa-o:before{content:"\4f"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-oil-can:before{content:"\f613"}.fa-oil-well:before{content:"\e532"}.fa-om:before{content:"\f679"}.fa-otter:before{content:"\f700"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-p:before{content:"\50"}.fa-pager:before{content:"\f815"}.fa-paint-roller:before{content:"\f5aa"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-palette:before{content:"\f53f"}.fa-pallet:before{content:"\f482"}.fa-panorama:before{content:"\e209"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-passport:before{content:"\f5ab"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-pause:before{content:"\f04c"}.fa-paw:before{content:"\f1b0"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-people-group:before{content:"\e533"}.fa-people-line:before{content:"\e534"}.fa-people-pulling:before{content:"\e535"}.fa-people-robbery:before{content:"\e536"}.fa-people-roof:before{content:"\e537"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-person-booth:before{content:"\f756"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-person-burst:before{content:"\e53b"}.fa-person-cane:before{content:"\e53c"}.fa-person-chalkboard:before{content:"\e53d"}.fa-person-circle-check:before{content:"\e53e"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-person-circle-minus:before{content:"\e540"}.fa-person-circle-plus:before{content:"\e541"}.fa-person-circle-question:before{content:"\e542"}.fa-person-circle-xmark:before{content:"\e543"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-person-dress-burst:before{content:"\e544"}.fa-person-drowning:before{content:"\e545"}.fa-person-falling:before{content:"\e546"}.fa-person-falling-burst:before{content:"\e547"}.fa-person-half-dress:before{content:"\e548"}.fa-person-harassing:before{content:"\e549"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-person-military-pointing:before{content:"\e54a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-person-military-to-person:before{content:"\e54c"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-person-pregnant:before{content:"\e31e"}.fa-person-rays:before{content:"\e54d"}.fa-person-rifle:before{content:"\e54e"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-person-shelter:before{content:"\e54f"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-person-through-window:before{content:"\e5a9"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-person-walking-luggage:before{content:"\e554"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-peseta-sign:before{content:"\e221"}.fa-peso-sign:before{content:"\e222"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-circle-check:before{content:"\e555"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-lock:before{content:"\e558"}.fa-plane-slash:before{content:"\e069"}.fa-plane-up:before{content:"\e22d"}.fa-plant-wilt:before{content:"\e5aa"}.fa-plate-wheat:before{content:"\e55a"}.fa-play:before{content:"\f04b"}.fa-plug:before{content:"\f1e6"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-plug-circle-check:before{content:"\e55c"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-plus-minus:before{content:"\e43c"}.fa-podcast:before{content:"\f2ce"}.fa-poo:before{content:"\f2fe"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-power-off:before{content:"\f011"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-puzzle-piece:before{content:"\f12e"}.fa-q:before{content:"\51"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\3f"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-r:before{content:"\52"}.fa-radiation:before{content:"\f7b9"}.fa-radio:before{content:"\f8d7"}.fa-rainbow:before{content:"\f75b"}.fa-ranking-star:before{content:"\e561"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-recycle:before{content:"\f1b8"}.fa-registered:before{content:"\f25d"}.fa-repeat:before{content:"\f363"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-republican:before{content:"\f75e"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-ribbon:before{content:"\f4d6"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-road-barrier:before{content:"\e562"}.fa-road-bridge:before{content:"\e563"}.fa-road-circle-check:before{content:"\e564"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-road-circle-xmark:before{content:"\e566"}.fa-road-lock:before{content:"\e567"}.fa-road-spikes:before{content:"\e568"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-route:before{content:"\f4d7"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-rug:before{content:"\e569"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-rupiah-sign:before{content:"\e23d"}.fa-s:before{content:"\53"}.fa-sack-dollar:before{content:"\f81d"}.fa-sack-xmark:before{content:"\e56a"}.fa-sailboat:before{content:"\e445"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-school:before{content:"\f549"}.fa-school-circle-check:before{content:"\e56b"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-school-flag:before{content:"\e56e"}.fa-school-lock:before{content:"\e56f"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-screwdriver:before{content:"\f54a"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-scroll:before{content:"\f70e"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-sd-card:before{content:"\f7c2"}.fa-section:before{content:"\e447"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-server:before{content:"\f233"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-sheet-plastic:before{content:"\e571"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-shield-cat:before{content:"\e572"}.fa-shield-dog:before{content:"\e573"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-shield-heart:before{content:"\e574"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-shoe-prints:before{content:"\f54b"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-shop-lock:before{content:"\e4a5"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-shower:before{content:"\f2cc"}.fa-shrimp:before{content:"\e448"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-sim-card:before{content:"\f7c4"}.fa-sink:before{content:"\e06d"}.fa-sitemap:before{content:"\f0e8"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-spa:before{content:"\f5bb"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-spray-can:before{content:"\f5bd"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-square:before{content:"\f0c8"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-square-full:before{content:"\f45c"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-square-nfi:before{content:"\e576"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-square-person-confined:before{content:"\e577"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-square-virus:before{content:"\e578"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-stairs:before{content:"\e289"}.fa-stamp:before{content:"\f5bf"}.fa-stapler:before{content:"\e5af"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-stethoscope:before{content:"\f0f1"}.fa-stop:before{content:"\f04d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-slash:before{content:"\e071"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stroopwafel:before{content:"\f551"}.fa-subscript:before{content:"\f12c"}.fa-suitcase:before{content:"\f0f2"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-superscript:before{content:"\f12b"}.fa-swatchbook:before{content:"\f5c3"}.fa-synagogue:before{content:"\f69b"}.fa-syringe:before{content:"\f48e"}.fa-t:before{content:"\54"}.fa-table:before{content:"\f0ce"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-tablet-button:before{content:"\f10a"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tarp:before{content:"\e57b"}.fa-tarp-droplet:before{content:"\e57c"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-tent:before{content:"\e57d"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tent-arrows-down:before{content:"\e581"}.fa-tents:before{content:"\e582"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-text-width:before{content:"\f035"}.fa-thermometer:before{content:"\f491"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-ticket:before{content:"\f145"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-timeline:before{content:"\e29c"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toilet-portable:before{content:"\e583"}.fa-toilets-portable:before{content:"\e584"}.fa-toolbox:before{content:"\f552"}.fa-tooth:before{content:"\f5c9"}.fa-torii-gate:before{content:"\f6a1"}.fa-tornado:before{content:"\f76f"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-tower-cell:before{content:"\e585"}.fa-tower-observation:before{content:"\e586"}.fa-tractor:before{content:"\f722"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-train-tram:before{content:"\e5b4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-tree-city:before{content:"\e587"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-trophy:before{content:"\f091"}.fa-trowel:before{content:"\e589"}.fa-trowel-bricks:before{content:"\e58a"}.fa-truck:before{content:"\f0d1"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-truck-droplet:before{content:"\e58c"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-truck-field:before{content:"\e58d"}.fa-truck-field-un:before{content:"\e58e"}.fa-truck-front:before{content:"\e2b7"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-truck-plane:before{content:"\e58f"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-u:before{content:"\55"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-universal-access:before{content:"\f29a"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-upload:before{content:"\f093"}.fa-user:before{content:"\f007"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-clock:before{content:"\f4fd"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-user-graduate:before{content:"\f501"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-user-injured:before{content:"\f728"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-user-lock:before{content:"\f502"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-between-lines:before{content:"\e591"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-users-line:before{content:"\e592"}.fa-users-rays:before{content:"\e593"}.fa-users-rectangle:before{content:"\e594"}.fa-users-slash:before{content:"\e073"}.fa-users-viewfinder:before{content:"\e595"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-v:before{content:"\56"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-vault:before{content:"\e2c5"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-vial:before{content:"\f492"}.fa-vial-circle-check:before{content:"\e596"}.fa-vial-virus:before{content:"\e597"}.fa-vials:before{content:"\f493"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-virus:before{content:"\e074"}.fa-virus-covid:before{content:"\e4a8"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-voicemail:before{content:"\f897"}.fa-volcano:before{content:"\f770"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-volume-off:before{content:"\f026"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-vr-cardboard:before{content:"\f729"}.fa-w:before{content:"\57"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-wallet:before{content:"\f555"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-wand-sparkles:before{content:"\f72b"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-wave-square:before{content:"\f83e"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-wheelchair:before{content:"\f193"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-wind:before{content:"\f72e"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-worm:before{content:"\e599"}.fa-wrench:before{content:"\f0ad"}.fa-x:before{content:"\58"}.fa-x-ray:before{content:"\f497"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-xmarks-lines:before{content:"\e59a"}.fa-y:before{content:"\59"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-z:before{content:"\5a"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands";font-weight:400}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-alipay:before{content:"\f642"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-amilia:before{content:"\f36d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-pay:before{content:"\f415"}.fa-artstation:before{content:"\f77a"}.fa-asymmetrik:before{content:"\f372"}.fa-atlassian:before{content:"\f77b"}.fa-audible:before{content:"\f373"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-aws:before{content:"\f375"}.fa-bandcamp:before{content:"\f2d5"}.fa-battle-net:before{content:"\f835"}.fa-behance:before{content:"\f1b4"}.fa-bilibili:before{content:"\e3d9"}.fa-bimobject:before{content:"\f378"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bootstrap:before{content:"\f836"}.fa-bots:before{content:"\e340"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-buromobelexperte:before{content:"\f37f"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cmplid:before{content:"\e360"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cotton-bureau:before{content:"\f89e"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-critical-role:before{content:"\f6c9"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dhl:before{content:"\f790"}.fa-diaspora:before{content:"\f791"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-draft2digital:before{content:"\f396"}.fa-dribbble:before{content:"\f17d"}.fa-dropbox:before{content:"\f16b"}.fa-drupal:before{content:"\f1a9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-elementor:before{content:"\f430"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before{content:"\f2d7"}.fa-evernote:before{content:"\f839"}.fa-expeditedssl:before{content:"\f23e"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-figma:before{content:"\f799"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-fly:before{content:"\f417"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-fulcrum:before{content:"\f50b"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-gofore:before{content:"\f3a7"}.fa-golang:before{content:"\e40f"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-wallet:before{content:"\f1ee"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-gulp:before{content:"\f3ae"}.fa-hacker-news:before{content:"\f1d4"}.fa-hackerrank:before{content:"\f5f7"}.fa-hashnode:before{content:"\e499"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-hive:before{content:"\e07f"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-hotjar:before{content:"\f3b1"}.fa-houzz:before{content:"\f27c"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-ideal:before{content:"\e013"}.fa-imdb:before{content:"\f2d8"}.fa-instagram:before{content:"\f16d"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joomla:before{content:"\f1aa"}.fa-js:before{content:"\f3b8"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaggle:before{content:"\f5fa"}.fa-keybase:before{content:"\f4f5"}.fa-keycdn:before{content:"\f3ba"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-korvue:before{content:"\f42f"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-leanpub:before{content:"\f212"}.fa-less:before{content:"\f41d"}.fa-line:before{content:"\f3c0"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-mailchimp:before{content:"\f59e"}.fa-mandalorian:before{content:"\f50f"}.fa-markdown:before{content:"\f60f"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medapps:before{content:"\f3c6"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-mendeley:before{content:"\f7b3"}.fa-meta:before{content:"\e49b"}.fa-microblog:before{content:"\e01a"}.fa-microsoft:before{content:"\f3ca"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-nfc-directional:before{content:"\e530"}.fa-nfc-symbol:before{content:"\e531"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-old-republic:before{content:"\f510"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-padlet:before{content:"\e4a0"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-palfed:before{content:"\f3d8"}.fa-patreon:before{content:"\f3d9"}.fa-paypal:before{content:"\f1ed"}.fa-perbyte:before{content:"\e083"}.fa-periscope:before{content:"\f3da"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pix:before{content:"\e43a"}.fa-playstation:before{content:"\f3df"}.fa-product-hunt:before{content:"\f288"}.fa-pushed:before{content:"\f3e1"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-r-project:before{content:"\f4f7"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-redhat:before{content:"\f7bc"}.fa-renren:before{content:"\f18b"}.fa-replyd:before{content:"\f3e6"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-rev:before{content:"\f5b2"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-rust:before{content:"\e07a"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-schlix:before{content:"\f3ea"}.fa-screenpal:before{content:"\e570"}.fa-scribd:before{content:"\f28a"}.fa-searchengin:before{content:"\f3eb"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-servicestack:before{content:"\f3ec"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shopify:before{content:"\e057"}.fa-shopware:before{content:"\f5b5"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sith:before{content:"\f512"}.fa-sitrox:before{content:"\e44a"}.fa-sketch:before{content:"\f7c6"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-slideshare:before{content:"\f1e7"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-space-awesome:before{content:"\e5ac"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spotify:before{content:"\f1bc"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-symbol:before{content:"\f3f6"}.fa-sticker-mule:before{content:"\f3f7"}.fa-strava:before{content:"\f428"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-superpowers:before{content:"\f2dd"}.fa-supple:before{content:"\f3f9"}.fa-suse:before{content:"\f7d6"}.fa-swift:before{content:"\f8e1"}.fa-symfony:before{content:"\f83d"}.fa-teamspeak:before{content:"\f4f9"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-the-red-yeti:before{content:"\f69d"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-think-peaks:before{content:"\f731"}.fa-tiktok:before{content:"\e07b"}.fa-trade-federation:before{content:"\f513"}.fa-trello:before{content:"\f181"}.fa-tumblr:before{content:"\f173"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-uncharted:before{content:"\e084"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-vaadin:before{content:"\f408"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viber:before{content:"\f409"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-vuejs:before{content:"\f41f"}.fa-watchman-monitoring:before{content:"\e087"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whmcs:before{content:"\f40d"}.fa-wikipedia-w:before{content:"\f266"}.fa-windows:before{content:"\f17a"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-zhihu:before{content:"\f63f"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-family:"Font Awesome 6 Free";font-weight:400}:host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-family:"Font Awesome 6 Free";font-weight:900}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(fa-regular-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a} diff --git a/html/font-awesome/css/v4-shims.min.css b/html/font-awesome/css/v4-shims.min.css index 5f3fdc598c..2f6252b52a 100644 --- a/html/font-awesome/css/v4-shims.min.css +++ b/html/font-awesome/css/v4-shims.min.css @@ -1,5 +1,6 @@ /*! - * Font Awesome Free 5.9.0 by @fontawesome - https://fontawesome.com + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. */ -.fa.fa-glass:before{content:"\f000"}.fa.fa-meetup{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-star-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-file-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-pencil:before{content:"\f303"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-share-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart:before{content:"\f080"}.fa.fa-bar-chart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart-o:before{content:"\f080"}.fa.fa-facebook-square,.fa.fa-twitter-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-lemon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-scissors:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-google-plus,.fa.fa-google-plus-square,.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f3fd"}.fa.fa-comment-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard,.fa.fa-paste{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paste:before{content:"\f328"}.fa.fa-lightbulb-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f381"}.fa.fa-cloud-upload:before{content:"\f382"}.fa.fa-bell-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f089"}.fa.fa-star-half-empty{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f089"}.fa.fa-star-half-full{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f089"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before{content:"\f127"}.fa.fa-shield:before{content:"\f3ed"}.fa.fa-calendar-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ticket:before{content:"\f3ff"}.fa.fa-minus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\f155"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\f156"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f15e"}.fa.fa-sort-amount-asc:before{content:"\f160"}.fa.fa-sort-amount-desc:before{content:"\f161"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f163"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube,.fa.fa-youtube-play,.fa.fa-youtube-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\f195"}.fa.fa-plus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-google,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle,.fa.fa-yahoo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-spoon:before{content:"\f2e5"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-envelope-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-deviantart,.fa.fa-soundcloud{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-life-bouy,.fa.fa-life-ring{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-bouy:before{content:"\f1cd"}.fa.fa-life-buoy{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-buoy:before{content:"\f1cd"}.fa.fa-life-saver{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-saver:before{content:"\f1cd"}.fa.fa-support{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git,.fa.fa-git-square,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-sliders:before{content:"\f1de"}.fa.fa-futbol-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-angellist,.fa.fa-ioxhost,.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-meanpath{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-meanpath:before{content:"\f2b4"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before{content:"\f224"}.fa.fa-facebook-official{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-clone,.fa.fa-hourglass-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-chrome,.fa.fa-creative-commons,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-internet-explorer,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square,.fa.fa-opera,.fa.fa-safari,.fa.fa-tripadvisor,.fa.fa-wikipedia-w{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-snapchat,.fa.fa-snapchat-ghost,.fa.fa-snapchat-square,.fa.fa-themeisle,.fa.fa-viadeo,.fa.fa-viadeo-square,.fa.fa-yoast{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-spotify,.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 5 Brands";font-weight:400} \ No newline at end of file +.fa.fa-glass:before{content:"\f000"}.fa.fa-envelope-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-star-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-home:before{content:"\f015"}.fa.fa-file-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-list-alt:before{content:"\f022"}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-edit{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-edit:before{content:"\f044"}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-expand:before{content:"\f424"}.fa.fa-compress:before{content:"\f422"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart-o:before,.fa.fa-bar-chart:before{content:"\e0e3"}.fa.fa-twitter-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-twitter-square:before{content:"\f081"}.fa.fa-facebook-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-square:before{content:"\f082"}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-github-square:before{content:"\f092"}.fa.fa-lemon-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-globe:before{content:"\f57d"}.fa.fa-tasks:before{content:"\f828"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-cut:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-save{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-save:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-magic:before{content:"\e2ca"}.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pinterest-square:before{content:"\f0d3"}.fa.fa-google-plus-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-square:before{content:"\f0d4"}.fa.fa-google-plus{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f625"}.fa.fa-comment-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard:before{content:"\f0ea"}.fa.fa-lightbulb-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f0ed"}.fa.fa-cloud-upload:before{content:"\f0ee"}.fa.fa-bell-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f5c0"}.fa.fa-star-half-empty{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f5c0"}.fa.fa-star-half-full{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f5c0"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before,.fa.fa-unlink:before{content:"\f127"}.fa.fa-calendar-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-unlock-alt:before{content:"\f09c"}.fa.fa-minus-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\24"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\e1bc"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f881"}.fa.fa-sort-amount-asc:before{content:"\f884"}.fa.fa-sort-amount-desc:before{content:"\f160"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f886"}.fa.fa-youtube-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-square:before{content:"\f431"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-xing-square:before{content:"\f169"}.fa.fa-youtube-play{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-tumblr-square:before{content:"\f174"}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo-square:before{content:"\f194"}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\e2bb"}.fa.fa-plus-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-google,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-yahoo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-reddit-square:before{content:"\f1a2"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-behance-square:before{content:"\f1b5"}.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-steam-square:before{content:"\f1b7"}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-deviantart,.fa.fa-soundcloud,.fa.fa-spotify{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-life-bouy:before,.fa.fa-life-buoy:before,.fa.fa-life-saver:before,.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-git-square:before{content:"\f1d2"}.fa.fa-git,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-futbol-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-lastfm-square:before{content:"\f203"}.fa.fa-angellist,.fa.fa-ioxhost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before,.fa.fa-transgender:before{content:"\f224"}.fa.fa-transgender-alt:before{content:"\f225"}.fa.fa-facebook-official{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-clone{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-creative-commons,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-odnoklassniki-square:before{content:"\f264"}.fa.fa-chrome,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-internet-explorer,.fa.fa-opera,.fa.fa-safari,.fa.fa-wikipedia-w{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-viadeo,.fa.fa-viadeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-viadeo-square:before{content:"\f2aa"}.fa.fa-snapchat,.fa.fa-snapchat-ghost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-ghost:before{content:"\f2ab"}.fa.fa-snapchat-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-square:before{content:"\f2ad"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-themeisle,.fa.fa-yoast{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-meetup,.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 6 Brands";font-weight:400} \ No newline at end of file diff --git a/html/font-awesome/webfonts/fa-regular-400.eot b/html/font-awesome/webfonts/fa-regular-400.eot deleted file mode 100644 index d62be2fad8..0000000000 Binary files a/html/font-awesome/webfonts/fa-regular-400.eot and /dev/null differ diff --git a/html/font-awesome/webfonts/fa-regular-400.ttf b/html/font-awesome/webfonts/fa-regular-400.ttf new file mode 100644 index 0000000000..c5ac009577 Binary files /dev/null and b/html/font-awesome/webfonts/fa-regular-400.ttf differ diff --git a/html/font-awesome/webfonts/fa-regular-400.woff b/html/font-awesome/webfonts/fa-regular-400.woff deleted file mode 100644 index 43b1a9ae49..0000000000 Binary files a/html/font-awesome/webfonts/fa-regular-400.woff and /dev/null differ diff --git a/html/font-awesome/webfonts/fa-solid-900.eot b/html/font-awesome/webfonts/fa-solid-900.eot deleted file mode 100644 index c77baa8d46..0000000000 Binary files a/html/font-awesome/webfonts/fa-solid-900.eot and /dev/null differ diff --git a/html/font-awesome/webfonts/fa-solid-900.ttf b/html/font-awesome/webfonts/fa-solid-900.ttf new file mode 100644 index 0000000000..43ba1cc7d9 Binary files /dev/null and b/html/font-awesome/webfonts/fa-solid-900.ttf differ diff --git a/html/font-awesome/webfonts/fa-solid-900.woff b/html/font-awesome/webfonts/fa-solid-900.woff deleted file mode 100644 index 77c1786227..0000000000 Binary files a/html/font-awesome/webfonts/fa-solid-900.woff and /dev/null differ diff --git a/html/font-awesome/webfonts/fa-v4compatibility.ttf b/html/font-awesome/webfonts/fa-v4compatibility.ttf new file mode 100644 index 0000000000..243bc25bd5 Binary files /dev/null and b/html/font-awesome/webfonts/fa-v4compatibility.ttf differ diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index be99d57a3d..8334c83224 100644 Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ diff --git a/icons/effects/mouse_pointers/screen_drag.dmi b/icons/effects/mouse_pointers/screen_drag.dmi new file mode 100644 index 0000000000..48e4fce85f Binary files /dev/null and b/icons/effects/mouse_pointers/screen_drag.dmi differ diff --git a/icons/hud/64x16_actions.dmi b/icons/hud/64x16_actions.dmi new file mode 100644 index 0000000000..23865a80f0 Binary files /dev/null and b/icons/hud/64x16_actions.dmi differ diff --git a/icons/mob/screen_ai.dmi b/icons/mob/screen_ai.dmi index 8388ea3f80..e9360926a4 100644 Binary files a/icons/mob/screen_ai.dmi and b/icons/mob/screen_ai.dmi differ diff --git a/icons/mob/screen_alien.dmi b/icons/mob/screen_alien.dmi index fe23a59dfd..ddb99fdb68 100644 Binary files a/icons/mob/screen_alien.dmi and b/icons/mob/screen_alien.dmi differ diff --git a/icons/mob/screen_clockwork.dmi b/icons/mob/screen_clockwork.dmi index 268fed4094..d84503c768 100644 Binary files a/icons/mob/screen_clockwork.dmi and b/icons/mob/screen_clockwork.dmi differ diff --git a/icons/mob/screen_cyborg.dmi b/icons/mob/screen_cyborg.dmi index 13aa792944..2f976f9d3a 100644 Binary files a/icons/mob/screen_cyborg.dmi and b/icons/mob/screen_cyborg.dmi differ diff --git a/icons/mob/screen_detective.dmi b/icons/mob/screen_detective.dmi new file mode 100644 index 0000000000..5de29ad1e8 Binary files /dev/null and b/icons/mob/screen_detective.dmi differ diff --git a/icons/mob/screen_gen.dmi b/icons/mob/screen_gen.dmi index 39e8eb4b45..0b286f9625 100644 Binary files a/icons/mob/screen_gen.dmi and b/icons/mob/screen_gen.dmi differ diff --git a/icons/mob/screen_glass.dmi b/icons/mob/screen_glass.dmi new file mode 100644 index 0000000000..4948171883 Binary files /dev/null and b/icons/mob/screen_glass.dmi differ diff --git a/icons/mob/screen_midnight.dmi b/icons/mob/screen_midnight.dmi index 3d89504272..c180ed4f37 100644 Binary files a/icons/mob/screen_midnight.dmi and b/icons/mob/screen_midnight.dmi differ diff --git a/icons/mob/screen_operative.dmi b/icons/mob/screen_operative.dmi index d51022b98a..8e2eeaa315 100644 Binary files a/icons/mob/screen_operative.dmi and b/icons/mob/screen_operative.dmi differ diff --git a/icons/mob/screen_plasmafire.dmi b/icons/mob/screen_plasmafire.dmi index f251b8b167..18f99515b9 100644 Binary files a/icons/mob/screen_plasmafire.dmi and b/icons/mob/screen_plasmafire.dmi differ diff --git a/icons/mob/screen_retro.dmi b/icons/mob/screen_retro.dmi index e57cefa83e..8c8b920908 100644 Binary files a/icons/mob/screen_retro.dmi and b/icons/mob/screen_retro.dmi differ diff --git a/icons/mob/screen_slimecore.dmi b/icons/mob/screen_slimecore.dmi index 01831250b8..91b01910e3 100644 Binary files a/icons/mob/screen_slimecore.dmi and b/icons/mob/screen_slimecore.dmi differ diff --git a/icons/mob/screen_trasenknox.dmi b/icons/mob/screen_trasenknox.dmi new file mode 100644 index 0000000000..bf229f7bad Binary files /dev/null and b/icons/mob/screen_trasenknox.dmi differ diff --git a/modular_citadel/code/modules/client/verbs/who.dm b/modular_citadel/code/modules/client/verbs/who.dm index 7640595e18..390c167365 100644 --- a/modular_citadel/code/modules/client/verbs/who.dm +++ b/modular_citadel/code/modules/client/verbs/who.dm @@ -38,7 +38,7 @@ var/client/C = X if(C && C.holder && !C.holder.fakekey) assembled += "\t [C.key][admin_mode? "[show_admin_info(C)]":""] ([round(C.avgping, 1)]ms)" - Lines += sortList(assembled) + Lines += sort_list(assembled) assembled.len = 0 if(length(GLOB.mentors)) Lines += "Mentors:" @@ -46,10 +46,10 @@ var/client/C = X if(C && (!C.holder || (C.holder && !C.holder.fakekey))) //>using stuff this complex instead of just using if/else lmao assembled += "\t [C.key][admin_mode? "[show_admin_info(C)]":""] ([round(C.avgping, 1)]ms)" - Lines += sortList(assembled) + Lines += sort_list(assembled) assembled.len = 0 Lines += "Players:" - for(var/X in sortList(GLOB.clients)) + for(var/X in sort_list(GLOB.clients)) var/client/C = X if(!C) continue @@ -57,8 +57,8 @@ if(C.holder && C.holder.fakekey) key = C.holder.fakekey assembled += "\t [key][admin_mode? "[show_admin_info(C)]":""] ([round(C.avgping, 1)]ms)" - Lines += sortList(assembled) - + Lines += sort_list(assembled) + for(var/line in Lines) msg += "[line]\n" diff --git a/modular_citadel/code/modules/eventmaps/Spookystation/JTGSZwork.dm b/modular_citadel/code/modules/eventmaps/Spookystation/JTGSZwork.dm index a2ccc319d0..244b0be71e 100644 --- a/modular_citadel/code/modules/eventmaps/Spookystation/JTGSZwork.dm +++ b/modular_citadel/code/modules/eventmaps/Spookystation/JTGSZwork.dm @@ -702,7 +702,7 @@ GLOBAL_LIST_EMPTY(rain_sounds) else new /obj/item/stack/sheet/hay/(get_turf(src)) qdel(src) - return 1 + return TRUE else . = ..() @@ -1081,9 +1081,9 @@ GLOBAL_LIST_INIT(hay_recipes, list ( \ attack_verb = list("tickled", "poked", "whipped") hitsound = 'sound/weapons/grenadelaunch.ogg' -/obj/item/stack/sheet/hay/Initialize(mapload, new_amount, merge = TRUE) - recipes = GLOB.hay_recipes - return ..() +/obj/item/stack/sheet/hay/get_main_recipes() + . = ..() + . += GLOB.hay_recipes /obj/item/stack/sheet/hay/fifty amount = 50 @@ -1098,7 +1098,7 @@ GLOBAL_LIST_INIT(hay_recipes, list ( \ amount = 5 -/obj/item/stack/sheet/hay/update_icon() +/obj/item/stack/sheet/hay/update_icon_state() var/amount = get_amount() if((amount <= 4) && (amount > 0)) icon_state = "hay[amount]" diff --git a/modular_citadel/code/modules/festive/turfs.dm b/modular_citadel/code/modules/festive/turfs.dm index dd119a25e7..d7b450caf2 100644 --- a/modular_citadel/code/modules/festive/turfs.dm +++ b/modular_citadel/code/modules/festive/turfs.dm @@ -1503,9 +1503,9 @@ /obj/structure/festive/trainplatform/edge_north/CanPass(atom/movable/mover, turf/target) if(istype(mover) && (mover.pass_flags & PASSGLASS)) - return 1 + return TRUE if(dir == FULLTILE_WINDOW_DIR) - return 0 + return FALSE if(get_dir(loc, target) == dir) return !density if(istype(mover, /obj/structure/festive/trainplatform/edge_north)) @@ -1518,14 +1518,14 @@ return FALSE else if(istype(mover, /obj/machinery/door/window) && !valid_window_location(loc, mover.dir)) return FALSE - return 1 + return TRUE /obj/structure/festive/trainplatform/edge_north/CheckExit(atom/movable/O, turf/target) if(istype(O) && (O.pass_flags & PASSGLASS)) - return 1 + return TRUE if(get_dir(O.loc, target) == dir) - return 0 - return 1 + return FALSE + return TRUE /obj/structure/festive/trainplatform/edge_north dir = SOUTH @@ -1561,9 +1561,9 @@ /obj/structure/festive/trainplatform/edge_south/CanPass(atom/movable/mover, turf/target) if(istype(mover) && (mover.pass_flags & PASSGLASS)) - return 1 + return TRUE if(dir == FULLTILE_WINDOW_DIR) - return 0 + return FALSE if(get_dir(loc, target) == dir) return !density if(istype(mover, /obj/structure/festive/trainplatform/edge_south)) @@ -1576,14 +1576,14 @@ return FALSE else if(istype(mover, /obj/machinery/door/window) && !valid_window_location(loc, mover.dir)) return FALSE - return 1 + return TRUE /obj/structure/festive/trainplatform/edge_north/CheckExit(atom/movable/O, turf/target) if(istype(O) && (O.pass_flags & PASSGLASS)) - return 1 + return TRUE if(get_dir(O.loc, target) == dir) - return 0 - return 1 + return FALSE + return TRUE /obj/structure/festive/trainplatform/edge_south dir = NORTH @@ -1619,9 +1619,9 @@ /obj/structure/festive/trainplatform/edge_east/CanPass(atom/movable/mover, turf/target) if(istype(mover) && (mover.pass_flags & PASSGLASS)) - return 1 + return TRUE if(dir == FULLTILE_WINDOW_DIR) - return 0 + return FALSE if(get_dir(loc, target) == dir) return !density if(istype(mover, /obj/structure/festive/trainplatform/edge_east)) @@ -1634,14 +1634,14 @@ return FALSE else if(istype(mover, /obj/machinery/door/window) && !valid_window_location(loc, mover.dir)) return FALSE - return 1 + return TRUE /obj/structure/festive/trainplatform/edge_east/CheckExit(atom/movable/O, turf/target) if(istype(O) && (O.pass_flags & PASSGLASS)) - return 1 + return TRUE if(get_dir(O.loc, target) == dir) - return 0 - return 1 + return FALSE + return TRUE /obj/structure/festive/trainplatform/edge_east dir = WEST @@ -1677,9 +1677,9 @@ /obj/structure/festive/trainplatform/edge_west/CanPass(atom/movable/mover, turf/target) if(istype(mover) && (mover.pass_flags & PASSGLASS)) - return 1 + return TRUE if(dir == FULLTILE_WINDOW_DIR) - return 0 + return FALSE if(get_dir(loc, target) == dir) return !density if(istype(mover, /obj/structure/festive/trainplatform/edge_west)) @@ -1692,14 +1692,14 @@ return FALSE else if(istype(mover, /obj/machinery/door/window) && !valid_window_location(loc, mover.dir)) return FALSE - return 1 + return TRUE /obj/structure/festive/trainplatform/edge_west/CheckExit(atom/movable/O, turf/target) if(istype(O) && (O.pass_flags & PASSGLASS)) - return 1 + return TRUE if(get_dir(O.loc, target) == dir) - return 0 - return 1 + return FALSE + return TRUE /obj/structure/festive/trainplatform/edge_west dir = EAST diff --git a/modular_citadel/code/modules/mentor/mentorpm.dm b/modular_citadel/code/modules/mentor/mentorpm.dm index 3260e96767..ba9a951b98 100644 --- a/modular_citadel/code/modules/mentor/mentorpm.dm +++ b/modular_citadel/code/modules/mentor/mentorpm.dm @@ -9,7 +9,7 @@ for(var/client/T) targets["[T]"] = T - var/list/sorted = sortList(targets) + var/list/sorted = sort_list(targets) var/target = input(src,"To whom shall we send a message?","Mentor PM",null) in sorted|null cmd_mentor_pm(targets[target],null) SSblackbox.record_feedback("tally", "Mentor_verb", 1, "APM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/modular_citadel/code/modules/projectiles/guns/pumpenergy.dm b/modular_citadel/code/modules/projectiles/guns/pumpenergy.dm index e5b81806e6..f3abc0603e 100644 --- a/modular_citadel/code/modules/projectiles/guns/pumpenergy.dm +++ b/modular_citadel/code/modules/projectiles/guns/pumpenergy.dm @@ -68,7 +68,7 @@ playsound(M, 'sound/weapons/laserPump.ogg', 100, 1) //Ends with high pitched charging noise recharge_newshot() //try to charge a new shot update_icon() - return 1 + return TRUE /obj/item/gun/energy/pumpaction/AltClick(mob/living/user) //for changing firing modes since attackself is already used for pumping . = ..() diff --git a/modular_citadel/code/modules/vectorcrafts/vectorcraft.dm b/modular_citadel/code/modules/vectorcrafts/vectorcraft.dm index 64d276dda7..0b393e33e1 100644 --- a/modular_citadel/code/modules/vectorcrafts/vectorcraft.dm +++ b/modular_citadel/code/modules/vectorcrafts/vectorcraft.dm @@ -133,10 +133,10 @@ check_boost() if(driver.m_intent == MOVE_INTENT_WALK) var/deceleration = max_deceleration - if(driver.in_throw_mode) + if(driver.throw_mode) deceleration *= 1.5 friction(deceleration, TRUE) - else if(driver.in_throw_mode) + else if(driver.throw_mode) friction(max_deceleration*1.2, TRUE) friction(max_deceleration/4) diff --git a/modular_citadel/icons/ui/screen_detective.dmi b/modular_citadel/icons/ui/screen_detective.dmi new file mode 100644 index 0000000000..ef012d3e84 Binary files /dev/null and b/modular_citadel/icons/ui/screen_detective.dmi differ diff --git a/modular_citadel/icons/ui/screen_glass.dmi b/modular_citadel/icons/ui/screen_glass.dmi new file mode 100644 index 0000000000..d03ba9edae Binary files /dev/null and b/modular_citadel/icons/ui/screen_glass.dmi differ diff --git a/modular_citadel/icons/ui/screen_operative.dmi b/modular_citadel/icons/ui/screen_operative.dmi index 5e8abb5431..0f9173091b 100644 Binary files a/modular_citadel/icons/ui/screen_operative.dmi and b/modular_citadel/icons/ui/screen_operative.dmi differ diff --git a/modular_citadel/icons/ui/screen_trasenknox.dmi b/modular_citadel/icons/ui/screen_trasenknox.dmi new file mode 100644 index 0000000000..ef418fdf94 Binary files /dev/null and b/modular_citadel/icons/ui/screen_trasenknox.dmi differ diff --git a/tgstation.dme b/tgstation.dme index fa7a8f079e..1768cba677 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -20,6 +20,7 @@ #include "code\_compile_options.dm" #include "code\world.dm" #include "code\__DEFINES\_auxtools.dm" +#include "code\__DEFINES\_click.dm" #include "code\__DEFINES\_globals.dm" #include "code\__DEFINES\_protect.dm" #include "code\__DEFINES\_tick.dm" @@ -160,6 +161,8 @@ #include "code\__DEFINES\dcs\flags.dm" #include "code\__DEFINES\dcs\helpers.dm" #include "code\__DEFINES\dcs\signals.dm" +#include "code\__DEFINES\dcs\signals\signals_action.dm" +#include "code\__DEFINES\dcs\signals\signals_global.dm" #include "code\__DEFINES\dcs\signals\signals_hud.dm" #include "code\__DEFINES\dcs\signals\signals_medical.dm" #include "code\__DEFINES\dcs\signals\signals_mod.dm" @@ -167,8 +170,11 @@ #include "code\__DEFINES\dcs\signals\signals_reagent.dm" #include "code\__DEFINES\dcs\signals\signals_screentips.dm" #include "code\__DEFINES\dcs\signals\signals_subsystem.dm" +#include "code\__DEFINES\dcs\signals\signals_atom\signals_atom_main.dm" +#include "code\__DEFINES\dcs\signals\signals_atom\signals_atom_mouse.dm" #include "code\__DEFINES\dcs\signals\signals_atom\signals_atom_movement.dm" #include "code\__DEFINES\dcs\signals\signals_mob\signals_mob_living.dm" +#include "code\__DEFINES\dcs\signals\signals_mob\signals_mob_main.dm" #include "code\__DEFINES\mapping\maploader.dm" #include "code\__DEFINES\material\worth.dm" #include "code\__DEFINES\mobs\innate_abilities.dm" @@ -221,6 +227,7 @@ #include "code\__HELPERS\reagents.dm" #include "code\__HELPERS\roundend.dm" #include "code\__HELPERS\sanitize_values.dm" +#include "code\__HELPERS\screen_objs.dm" #include "code\__HELPERS\shell.dm" #include "code\__HELPERS\stat_tracking.dm" #include "code\__HELPERS\text.dm" @@ -279,7 +286,6 @@ #include "code\_onclick\right_item_attack.dm" #include "code\_onclick\right_other_mobs.dm" #include "code\_onclick\telekinesis.dm" -#include "code\_onclick\hud\_defines.dm" #include "code\_onclick\hud\action_button.dm" #include "code\_onclick\hud\ai.dm" #include "code\_onclick\hud\alert.dm" @@ -1500,6 +1506,7 @@ #include "code\modules\admin\sound_emitter.dm" #include "code\modules\admin\sql_message_system.dm" #include "code\modules\admin\stickyban.dm" +#include "code\modules\admin\tag.dm" #include "code\modules\admin\topic.dm" #include "code\modules\admin\whitelist.dm" #include "code\modules\admin\callproc\callproc.dm" @@ -1550,6 +1557,7 @@ #include "code\modules\admin\view_variables\mass_edit_variables.dm" #include "code\modules\admin\view_variables\modify_variables.dm" #include "code\modules\admin\view_variables\reference_tracking.dm" +#include "code\modules\admin\view_variables\tag_datum.dm" #include "code\modules\admin\view_variables\topic.dm" #include "code\modules\admin\view_variables\topic_basic.dm" #include "code\modules\admin\view_variables\topic_list.dm" @@ -1866,7 +1874,43 @@ #include "code\modules\asset_cache\asset_cache_client.dm" #include "code\modules\asset_cache\asset_cache_item.dm" #include "code\modules\asset_cache\asset_list.dm" -#include "code\modules\asset_cache\asset_list_items.dm" +#include "code\modules\asset_cache\assets\achievements.dm" +#include "code\modules\asset_cache\assets\adventure.dm" +#include "code\modules\asset_cache\assets\arcade.dm" +#include "code\modules\asset_cache\assets\chat.dm" +#include "code\modules\asset_cache\assets\circuits.dm" +#include "code\modules\asset_cache\assets\common.dm" +#include "code\modules\asset_cache\assets\condiments.dm" +#include "code\modules\asset_cache\assets\fish.dm" +#include "code\modules\asset_cache\assets\fontawesome.dm" +#include "code\modules\asset_cache\assets\genetics.dm" +#include "code\modules\asset_cache\assets\headers.dm" +#include "code\modules\asset_cache\assets\inventory.dm" +#include "code\modules\asset_cache\assets\irv.dm" +#include "code\modules\asset_cache\assets\jobs.dm" +#include "code\modules\asset_cache\assets\jquery.dm" +#include "code\modules\asset_cache\assets\languages.dm" +#include "code\modules\asset_cache\assets\lobby.dm" +#include "code\modules\asset_cache\assets\mafia.dm" +#include "code\modules\asset_cache\assets\moods.dm" +#include "code\modules\asset_cache\assets\notes.dm" +#include "code\modules\asset_cache\assets\orbit.dm" +#include "code\modules\asset_cache\assets\paper.dm" +#include "code\modules\asset_cache\assets\pda.dm" +#include "code\modules\asset_cache\assets\permissions.dm" +#include "code\modules\asset_cache\assets\pills.dm" +#include "code\modules\asset_cache\assets\pipes.dm" +#include "code\modules\asset_cache\assets\portraits.dm" +#include "code\modules\asset_cache\assets\radar.dm" +#include "code\modules\asset_cache\assets\research_designs.dm" +#include "code\modules\asset_cache\assets\safe.dm" +#include "code\modules\asset_cache\assets\sheetmaterials.dm" +#include "code\modules\asset_cache\assets\supplypods.dm" +#include "code\modules\asset_cache\assets\tgfont.dm" +#include "code\modules\asset_cache\assets\tgui.dm" +#include "code\modules\asset_cache\assets\tutorial_advisors.dm" +#include "code\modules\asset_cache\assets\vending.dm" +#include "code\modules\asset_cache\assets\vv.dm" #include "code\modules\asset_cache\transports\asset_transport.dm" #include "code\modules\asset_cache\transports\webroot_transport.dm" #include "code\modules\atmospherics\multiz.dm" @@ -3135,6 +3179,7 @@ #include "code\modules\plumbing\plumbers\reaction_chamber.dm" #include "code\modules\plumbing\plumbers\splitters.dm" #include "code\modules\plumbing\plumbers\synthesizer.dm" +#include "code\modules\point\point.dm" #include "code\modules\pool\pool_controller.dm" #include "code\modules\pool\pool_drain.dm" #include "code\modules\pool\pool_effects.dm" diff --git a/tgui/.yarnrc.yml b/tgui/.yarnrc.yml index f17253db0c..103f6d7712 100644 --- a/tgui/.yarnrc.yml +++ b/tgui/.yarnrc.yml @@ -10,6 +10,8 @@ plugins: - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs spec: "@yarnpkg/plugin-interactive-tools" +pnpEnableEsmLoader: false + preferAggregateCacheInfo: true preferInteractive: true diff --git a/tgui/packages/tgui-dev-server/package.json b/tgui/packages/tgui-dev-server/package.json index 8ee0e019ee..8b2e5d64fb 100644 --- a/tgui/packages/tgui-dev-server/package.json +++ b/tgui/packages/tgui-dev-server/package.json @@ -4,7 +4,7 @@ "version": "4.3.0", "type": "module", "dependencies": { - "axios": "^0.21.1", + "axios": "^1.6.0", "glob": "^7.1.7", "source-map": "^0.7.3", "stacktrace-parser": "^0.1.10", diff --git a/tgui/packages/tgui-panel/chat/renderer.js b/tgui/packages/tgui-panel/chat/renderer.js index 32a9b74ed0..495ed32228 100644 --- a/tgui/packages/tgui-panel/chat/renderer.js +++ b/tgui/packages/tgui-panel/chat/renderer.js @@ -443,7 +443,9 @@ class ChatRenderer { const cssRules = styleSheets[i].cssRules; for (let i = 0; i < cssRules.length; i++) { const rule = cssRules[i]; - cssText += rule.cssText + '\n'; + if (rule && typeof rule.cssText === 'string') { + cssText += rule.cssText + '\n'; + } } } cssText += 'body, html { background-color: #141414 }\n'; diff --git a/tgui/packages/tgui/interfaces/BorgPanel.js b/tgui/packages/tgui/interfaces/BorgPanel.js index 9e2d97db6e..2c422d9ac0 100644 --- a/tgui/packages/tgui/interfaces/BorgPanel.js +++ b/tgui/packages/tgui/interfaces/BorgPanel.js @@ -1,5 +1,5 @@ import { useBackend } from '../backend'; -import { Box, Button, LabeledList, ProgressBar, Section } from '../components'; +import { Box, Button, Icon, LabeledList, ProgressBar, Section } from '../components'; import { Window } from '../layouts'; export const BorgPanel = (props, context) => { @@ -12,6 +12,9 @@ export const BorgPanel = (props, context) => { const upgrades = data.upgrades || []; const ais = data.ais || []; const laws = data.laws || []; + + const active_upgrades = data.active_upgrades || []; + const ka_remaining_capacity = data.ka_remaining_capacity || 0; return ( { ))} - {upgrades.map(upgrade => ( -